题目大意:一国有n个党派,每个党派在议会中都有2个代表,现要组建和平委员会,要从每个党派在议会的代表中选出1人,一共n人组成和平委员会。已知有一些代表之间存在仇恨,也就是说他们不能同时被选为和平委员会的成员,现要你判断满足要求的和平委员会能否创立?如果能,请任意给出一种方案。

2-sat问题

#include <cstdio>
#include <cstring>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;const int maxn = 10005;
int n, m;
vector<int> G[maxn*2];
bool mark[maxn*2];
int S[maxn*2], top;bool dfs(int x)
{if(mark[x^1]) return false;if(mark[x]) return true;mark[x] = true;S[top++] = x;for(int i=0; i<G[x].size(); ++i)if(!dfs(G[x][i])) return false;return true;
}bool TwoSat()
{memset(mark, 0, sizeof mark );for(int i=0; i<n; i += 2) {if(!mark[i] && !mark[i^1]) {top = 0;if(!dfs(i)) {while(top) mark[S[--top]] = false;if(!dfs(i^1)) return false;}}}return true;
}int main()
{int u, v;while(~scanf("%d%d", &n, &m)) {n *= 2;for(int i=0; i<n; ++i) G[i].clear();while(m--) {scanf("%d%d", &u, &v);u--;v--;G[u].push_back(v^1);G[v].push_back(u^1);}if(TwoSat()) {for(int i=0; i<n; i+=2)if(mark[i])printf("%d\n", i+1);elseprintf("%d\n", (i^1)+1);} else printf("NIE\n");}return 0;
}

hdu1814 Peaceful Commission,2-sat相关推荐

  1. hdu1814 Peaceful Commission 2-sat

    hdu1814 Peaceful Commission 链接 emm,三个链接,三个都不同 loj随便做 hdu字典序最小 bzoj求合法方案数 思路 loj是任意一组解,直接跑tarjan然后判. ...

  2. hdu1814 Peaceful Commission 2-SAT建图入门

    题面 The Public Peace Commission should be legislated in Parliament of The Democratic Republic of Byte ...

  3. hdu1814 Peaceful Commission

    题目链接:戳我 菜得不行了,直到今天才刚开始学2-SAT.... 2-SAT的模板,因为是求最小字典序,所以只能用上限为\(O(nm)\)的最暴力的方法来做... #include<iostre ...

  4. [hdu-1814] Peaceful Commission题解

    题目传送门 题意解析:题目就是给了你n组,每一组有两个人,然后在给你m组关系,关系x,y表示x和y不能在放一起,然后让你在每组中各取出一个人,找出字典序最小的一组方案(原题是任意一组方案,但是hdu上 ...

  5. HDU1814 Peaceful Commission 2SAT

    http://acm.hdu.edu.cn/showproblem.php?pid=1814 输出最小字典序. 1 #include<bits/stdc++.h> 2 const int ...

  6. 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 ...

  7. HDOJ 1814 Peaceful Commission

    经典2sat裸题,dfs的2sat能够方便输出字典序最小的解... Peaceful Commission Time Limit: 10000/5000 MS (Java/Others)    Mem ...

  8. 2023年申请美国大学,需要SAT/ACT成绩吗?

    受疫情影响,2021 和 2022 年申请美国大学时,许多大学都放宽了SAT/ACT门槛,不强行要求学生提交标化成绩.今年3月,理工大牛院校 MIT 率先打破了这个局面,宣布恢复 SAT/ACT 标化 ...

  9. hdu 1814 Peaceful Commission 题解

    题目传送门 题目大意: 有 nnn 个团队,每个团队两个人,现在要组成一个 nnn 人的组织,要求每个团队中只能有 111 个人在组织里,给出 mmm 组憎恶关系,相互憎恶的两人不能同时在组织里,给出 ...

最新文章

  1. 笨办法学C 练习22:栈、作用域和全局
  2. SAE下修改models里面字段
  3. js一些稀奇古怪的写法-带你装逼带你飞
  4. C语言进阶--Day2
  5. python写一个类方法_Python基础|类方法的强制重写与禁止重写
  6. 任务01——谈谈对参与工作室的预期
  7. 在线rss阅读聚合器lilina-0.7安装笔记
  8. Codeforces round 396(Div. 2) 题解
  9. Selenium 自动化测试基础知识
  10. Win7系统无法复制粘贴怎么解决
  11. mysql 根据总分排名
  12. linux 邮件文件名 病毒,文件型File/Macro病毒的捕获
  13. 指纹和人脸识别 AI 总结
  14. 让Editplus成为强大的PHP编辑器
  15. 转载:wps怎么制作半圆形时间轴? wps彩色时间轴的制作方法
  16. VPS性能优劣与使用
  17. opencv实战4-图像滤波
  18. JAVA面试题大全(part_1)
  19. birthday日期类型转化
  20. 梯度下降计实例计算(二维)

热门文章

  1. 微信数据运营面试心得(社招)
  2. 10-230 查询计算机工程专业学生选修但软件工程专业学生没有选修的课程
  3. 上班最强摸鱼游戏-多人联机小游戏 (一)
  4. Java设计模式之Builder模式
  5. 你的项目无人问津? 找块闻热点快讯就对了
  6. iOS 12 修改微信提示音,无需越狱不用电脑,详细教程
  7. 战胜人类最强大脑只是开始,百度大脑“代言”中国人工智能
  8. Canvas如何等待所有图片加载完成才开始绘图
  9. 未来属于智能,智能存在未在每个角落-称重
  10. 华为OD社招面试(技术二面完)--总结复盘