尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P5782 [POI 2001] 和平委员会

P5782 [POI 2001] 和平委员会
📅 发布时间:2026/6/19 20:03:01

P5782 [POI 2001] 和平委员会

大意

\(n\) 个党派,每个党派 \(i\) 有两个代表 \(2i,2i + 1\),然后给你 \(m\) 对互相厌恶的关系,求方案。

思路

那么,相当于每个党派的两个代表就是两种情况,然后直接按其说的厌恶的关系建边跑 \(\text{2 - SAT}\) 即可。

代码

#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;const int MAXN = 16005;
int n, m;
vector<int> g[MAXN];
bool vis[MAXN];
int S[MAXN], c = 0;inline int get_id(int x) {x--;return x;
}bool dfs(int u) {if (vis[u ^ 1]) return false;if (vis[u]) return true;vis[u] = true;S[c++] = u;for (int v : g[u]) {if (!dfs(v)) return false;}return true;
}bool Two_SAT() {memset(vis, 0, sizeof(vis));for (int i = 0; i < 2 * n; i += 2) {if (!vis[i] && !vis[i + 1]) {c = 0;if (!dfs(i)) {while (c > 0) vis[S[--c]] = false;if (!dfs(i + 1)) {return false;}}}}return true;
}int main() {ios::sync_with_stdio(false);cin.tie(0);cin >> n >> m;for (int i = 0; i < m; i++) {int a, b;cin >> a >> b;int u = get_id(a);int v = get_id(b);g[u].push_back(v ^ 1);g[v].push_back(u ^ 1);}if (!Two_SAT()) {cout << "NIE" << endl;} else {vector<int> ans;for (int i = 0; i < 2 * n; i += 2) {if (vis[i]) {ans.push_back(i + 1);} else {ans.push_back(i + 2);}}sort(ans.begin(), ans.end());for (int x : ans) {cout << x << endl;}}return 0;
}

本文来自一名高中生,作者:To_Carpe_Diem

相关新闻

  • 辛普森法则
  • 《嘟嘟脸恶作剧》:说是捏脸,你还真捏脸啊?
  • 英语_阅读_if Your computer broke down_待读

最新新闻

  • Windows老游戏终极兼容解决方案:dxwrapper完全指南
  • 编写自定义脚本来自动化 vLLM 部署流程
  • 宣城市宁国吃正宗皖南徽菜 + 宁国农家土菜推荐去哪家? - 速递信息
  • 武汉买猫买狗去哪看?梦宠山庄实地体验分享 - 园友3800037
  • 从零到一:Jetlinks物联网平台服务器部署实战与避坑指南
  • (转)一次ANSYS EM 2023R1 “Request name electronics_desktop does not exist in the licensing pool.“的离谱解决记录

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号