【HDOJ】1814 Peaceful Commission
2-SAT基础题目。
1 /* 1814 */ 2 #include <iostream> 3 #include <vector> 4 #include <algorithm> 5 #include <cstdio> 6 #include <cstring> 7 #include <cstdlib> 8 using namespace std; 9 10 #define MAXN 8005 11 12 vector<int> vc[MAXN*2]; 13 bool visit[MAXN*2]; 14 int S[MAXN*2], top; 15 int n, m; 16 17 bool dfs(int u) { 18 if (visit[u^1]) return false; 19 if (visit[u]) return true; 20 21 visit[u] = true; 22 S[top++] = u; 23 for (int i=0; i<vc[u].size(); ++i) { 24 if (!dfs(vc[u][i])) 25 return false; 26 } 27 return true; 28 } 29 30 int main() { 31 int ii, jj; 32 int i, j, k; 33 bool flag; 34 35 #ifndef ONLINE_JUDGE 36 freopen("data.in", "r", stdin); 37 #endif 38 39 while (scanf("%d %d", &n, &m) != EOF) { 40 k = n+n; 41 for (i=0; i<k; ++i) 42 vc[i].clear(); 43 memset(visit, false, sizeof(bool)*k); 44 while (m--) { 45 scanf("%d %d", &i, &j); 46 --i; 47 --j; 48 ii = (i&1) ? i-1:i+1; 49 jj = (j&1) ? j-1:j+1; 50 vc[i].push_back(jj); 51 vc[j].push_back(ii); 52 } 53 flag = true; 54 for (i=0; i<k; i+=2) { 55 if (! (visit[i]||visit[i+1])) { 56 top = 0; 57 if (!dfs(i)) { 58 while (top--) 59 visit[S[top]] = false; 60 if (!dfs(i+1)) { 61 flag = false; 62 break; 63 } 64 } 65 } 66 } 67 if (flag) { 68 for (i=0; i<k; ++i) 69 if (visit[i]) 70 printf("%d\n", i+1); 71 } else { 72 puts("NIE"); 73 } 74 } 75 76 return 0; 77 }
转载于:https://www.cnblogs.com/bombe1013/p/4335831.html
【HDOJ】1814 Peaceful Commission相关推荐
- HDU 1814 Peaceful Commission / HIT 1917 Peaceful Commission /CJOJ 1288 和平委员会(2-sat模板题)...
HDU 1814 Peaceful Commission / HIT 1917 Peaceful Commission /CJOJ 1288 和平委员会(2-sat模板题) Description T ...
- HDOJ 1814 Peaceful Commission
经典2sat裸题,dfs的2sat能够方便输出字典序最小的解... Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Mem ...
- 【HDOJ】4602 Partition
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4602 [报告] 直接贴上标程解题报告:(虽然有些纠结,试一下就弄通了..) Problem C. Par ...
- 【HDOJ】4602 Partition_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4602 [报告] 直接贴上标程解题报告:(虽然有些纠结,试一下就弄通了..) Problem C. Par ...
- 【HDOJ】1008 Elevator_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=1008 [报告] 这是我在HDOJ里看到的最水的题目,至少目前为止. 题目里已经讲得很清楚了,模拟就能过 ...
- 【HDOJ】1022 Train Problem I_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1022 [报告] 模拟,直接模拟一个栈的运行就行了. [程序] // Task: 1022 Train P ...
- 【HDOJ】1003 Max Sum_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1003 [报告] 既然是子区间加和问题,可以用减法来处理.比如求[5..10]的和,可以直接用[1..10 ...
- 【HDOJ】4768 Flyer_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4768 [报告] 题目中已经说了,保证最多出现一个奇数,所以可以用异或的想法.把所有的数异或起来,如果最后 ...
- 【HDOJ】4699 Editor_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=4699 [报告] 模拟题吧,本身不是很难. 最初的想法是用Splay tree写,然后疯掉了.苏牛说2B ...
- 【HDOJ】4704 Sum_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=4704 [报告] S(K)显然就是N的K正整数划分数.所以SUM{S(K),1<=K<=N} ...
最新文章
- android 蓝牙 不休眠_全新便携蓝牙键盘 雷柏XK100带来高效办公新体验
- 新版中青——青龙羊毛
- [攻防世界 pwn]——time_formatter(内涵peak小知识)
- IncompatibleClassChangFound interface org.apache.hadoop.mapreduce.JobContext, but class was expected
- QT中的QTableView+QTableWidget
- 网站需要密码登录访问php源码
- Lampp Xampp配置SSL及自动http重定向https
- C语言中指针的基类型,c – 将指针从一种基类型转换为另一种基类型
- 【HDOJ】1261 字串数【组合数学--排列+代数】
- airplay协议开发第1部(搭建测试环境)
- PEmicro GDB Launch Failure : Could not bind socket.
- 【转载】装机知识显卡篇,一篇文章让小白透彻的了解显卡
- 万兆铜缆--七类双绞线--光纤等内容
- MySQL 事务隔离级别,读现象,MVCC
- 微信小程序云开发之cms开发
- ping回显无法访问目的主机问题解决过程
- warning: waiting for transaction lock on /var/lib/rpm/.rpm.lock
- 宅公司 宅家里 养生锻炼必备的少林八段锦
- 王牌代码静态测试工具Helix QAC 2022.2 中的新增功能(1)
- Stacked Autoencoders
热门文章
- 拼接、比较与计算——哥德尔读后之十四
- win10输入法突然变繁体解决办法
- 【转载】Python 数据皮尔逊相关性分析
- 视频学习前端的经验之谈
- 企业邮箱哪个品牌最好用?10年hr的经验分享
- 极客时间前端进阶特训营winter、杨村长、然叔、高少云,《精通React》大专栏,React低代码项目,前端算法实战,杨村长Vue3开源组件库实战(Vue3+Vite+VitePress+TSX+T
- vue图片时间轴滑动_vue 写的时间区间拖动控件
- git仓库创建及上传
- 【HTML】3.Form表单
- js 除了自己获取其他所有兄弟节点