HDU-1814 Peaceful Commission 2sat
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1814
简单的2sat题。
- //STATUS:C++_AC_390MS_996KB
- #include <functional>
- #include <algorithm>
- #include <iostream>
- //#include <ext/rope>
- #include <fstream>
- #include <sstream>
- #include <iomanip>
- #include <numeric>
- #include <cstring>
- #include <cassert>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <bitset>
- #include <queue>
- #include <stack>
- #include <cmath>
- #include <ctime>
- #include <list>
- #include <set>
- #include <map>
- using namespace std;
- //using namespace __gnu_cxx;
- //define
- #define pii pair<int,int>
- #define mem(a,b) memset(a,b,sizeof(a))
- #define lson l,mid,rt<<1
- #define rson mid+1,r,rt<<1|1
- #define PI acos(-1.0)
- //typedef
- typedef long long LL;
- typedef unsigned long long ULL;
- //const
- const int N=;
- const int INF=0x3f3f3f3f;
- const int MOD=,STA=;
- const LL LNF=1LL<<;
- const double EPS=1e-;
- const double OO=1e15;
- const int dx[]={-,,,};
- const int dy[]={,,,-};
- const int day[]={,,,,,,,,,,,,};
- //Daily Use ...
- inline int sign(double x){return (x>EPS)-(x<-EPS);}
- template<class T> T gcd(T a,T b){return b?gcd(b,a%b):a;}
- template<class T> T lcm(T a,T b){return a/gcd(a,b)*b;}
- template<class T> inline T lcm(T a,T b,T d){return a/d*b;}
- template<class T> inline T Min(T a,T b){return a<b?a:b;}
- template<class T> inline T Max(T a,T b){return a>b?a:b;}
- template<class T> inline T Min(T a,T b,T c){return min(min(a, b),c);}
- template<class T> inline T Max(T a,T b,T c){return max(max(a, b),c);}
- template<class T> inline T Min(T a,T b,T c,T d){return min(min(a, b),min(c,d));}
- template<class T> inline T Max(T a,T b,T c,T d){return max(max(a, b),max(c,d));}
- //End
- int first[N*],next[*],vis[N*],S[N*];
- int n,m,mt,cnt;
- struct Edge{
- int u,v;
- }e[*];
- void adde(int a,int b)
- {
- e[mt].u=a,e[mt].v=b;
- next[mt]=first[a];first[a]=mt++;
- }
- int dfs(int u)
- {
- if(vis[u^])return ;
- if(vis[u])return ;
- int i;
- vis[u]=;
- S[cnt++]=u;
- for(i=first[u];i!=-;i=next[i]){
- if(!dfs(e[i].v))return ;
- }
- return ;
- }
- int Twosat()
- {
- int i,j;
- for(i=;i<n;i+=){
- if(vis[i] || vis[i^])continue;
- cnt=;
- if(!dfs(i)){
- while(cnt)vis[S[--cnt]]=;
- if(!dfs(i^))return ;
- }
- }
- return ;
- }
- int main()
- {
- // freopen("in.txt","r",stdin);
- int i,j,a,b;
- while(~scanf("%d%d",&n,&m))
- {
- n<<=;
- mem(first,-);mt=;
- mem(vis,);
- for(i=;i<m;i++){
- scanf("%d%d",&a,&b);
- a--,b--;
- adde(a,b^);
- adde(b,a^);
- }
- if(Twosat()){
- for(i=;i<n;i+=){
- printf("%d\n",(vis[i]?i:i^)+);
- }
- }
- else puts("NIE");
- }
- return ;
- }
HDU-1814 Peaceful Commission 2sat的更多相关文章
- 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 ...
- hdu 1814 Peaceful Commission (2-sat 输出字典序最小的路径)
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- HDU 1814 Peaceful Commission(2-sat 模板题输出最小字典序解决方式)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1814 Problem Description The Public Peace Commission ...
- HDU 1814 Peaceful Commission
2-SAT,输出字典序最小的解,白书模板. //TwoSAT输出字典序最小的解的模板 //注意:0,1是一组,1,2是一组..... #include<cstdio> #include&l ...
- HDOJ 1814 Peaceful Commission
经典2sat裸题,dfs的2sat能够方便输出字典序最小的解... Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Mem ...
- hdu1814 Peaceful Commission——2-SAT
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1814 第一次的2-SAT,推荐博客:https://blog.csdn.net/jarjingx/arti ...
- 图论--2-SAT--HDU/HDOJ 1814 Peaceful Commission
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 【HDU】1814 Peaceful Commission
http://acm.hdu.edu.cn/showproblem.php?pid=1814 题意:n个2人组,编号分别为2n和2n+1,每个组选一个人出来,且给出m条关系(x,y)使得选了x就不能选 ...
- 【HDOJ】1814 Peaceful Commission
2-SAT基础题目. /* 1814 */ #include <iostream> #include <vector> #include <algorithm> # ...
随机推荐
- Razor语法小记
1.代码块中,<text>标签用来输出,如: @{ <text>sdfsdf</text> } 输出Html: sdfsdf
- <四> jQuery 事件
$(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时) $(selector).click(function) 触发或将函数绑定到被选元素的点击事件 $ ...
- DB天气安卓客户端测试计划
分辨率 屏幕ppi 网络环境 操作系统 os 用户类型 地点 组合总数 其他 samsung htc 小米 ...
- HDU 1560 DNA sequence (IDA* 迭代加深 搜索)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1560 BFS题解:http://www.cnblogs.com/crazyapple/p/321810 ...
- 计算S(n)=a+aa+aaa+...... 其中a是一个数字
描述 计算S(n)=a+aa+aaa+...... 其中a是一个数字 输入数据 两个分别表示a和n的整数 输出数据 一个表示S(n)的整数 输入示例 3 5 输出示例 37035 # include ...
- 西门子plc串口通讯方式
西门子plc串口通讯的三种方式 时间:2015-10-25 14:31:55编辑:电工栏目:西门子plc 导读:西门子plc串口通讯的三种方式,分为RS485 串口通信.PPI 通信.MPI 通信,自 ...
- RPM是RedHat Package Manager(RedHat软件包管理工具)
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- [HDOJ - 5282] Senior's String 【DP】
题目链接:BZOJ - 5282 题目分析 LCS 就是用经典的 O(n^2) DP 解决,f[i][j] 表示 x 串前 i 个字符与 y 串前 j 个字符的 LCS 长度. f[i][j] = m ...
- [转载]C#多线程学习(一) 多线程的相关概念
原文地址:http://www.cnblogs.com/xugang/archive/2008/04/06/1138856.html 什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的 ...
- 被FBI点名的中国黑客-Lion
网名:Lion(狮子) 真实姓名:林勇 QQ:21509 简介:红客联盟创始人(该组织在2001年5月的黑客大战中一举成名,会员人数最多时达到6万,很有影响力),现在安氏因特网安全系统(中国) ...