HDU 1814 Peaceful Commission(2-SAT)
来源:互联网 发布:阿里云客服投诉电话 编辑:程序博客网 时间:2024/05/18 00:04
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;const int maxn=10000+5;struct TwoSAT{ int n; vector<int> G[maxn*2]; bool mark[maxn*2]; int s[maxn*2],c; bool dfs(int x){ if(mark[x^1]) return false; if(mark[x]) return true; mark[x]=true; s[c++]=x; for(int i=0;i<G[x].size();i++) if(!dfs(G[x][i])) return false; return true; } void init(int n){ this->n=n; for(int i=0;i<2*n;i++) G[i].clear(); memset(mark,0,sizeof(mark)); } void add_clause(int x,int xval,int y,int yval){ x=x*2+xval; y=y*2+yval; G[x^1].push_back(y); G[y^1].push_back(x); } bool solve(){ for(int i=0;i<2*n;i+=2){ if(!mark[i]&&!mark[i+1]){ c=0; if(!dfs(i)){ while(c) mark[s[--c]]=false; if(!dfs(i+1)) return false; } } } return true; }};TwoSAT solver;int n,m;struct edge{int u,v;};edge e[20000+5];int main(){ while(scanf("%d%d",&n,&m)!=EOF) { solver.init(n); for(int i=0;i<m;i++) { scanf("%d%d",&e[i].u,&e[i].v); solver.add_clause((e[i].u-1)/2,((e[i].u-1)%2)^1,(e[i].v-1)/2,((e[i].v-1)%2)^1); } if(solver.solve()){ for(int i=0;i<n;i++){ if(solver.mark[i*2]==true) printf("%d\n",i*2+1); else printf("%d\n",i*2+1+1); } } else printf("NIE\n"); } return 0;}
0 0
- 【HDU】1814 Peaceful Commission 2-sat
- HDU 1814 Peaceful Commission(2-sat)
- hdu 1814 Peaceful Commission(2-sat)
- hdu 1814 Peaceful Commission (2-SAT)
- HDU 1814 Peaceful Commission (2-SAT)
- hdu 1814 Peaceful Commission (2-sat入门)
- HDU 1814 Peaceful Commission 2-sat 爆搜
- HDU 1814 Peaceful Commission(2-SAT)
- HDU 1814 Peaceful Commission(2-SAT)
- hdu 1814 Peaceful Commission (2-SAT)
- hdu 1814 Peaceful Commission 2-SAT
- hdu 1814 Peaceful Commission(2-sat 染色)
- HDU 1814 Peaceful Commission (2-SAT)
- HDU 1814 Peaceful Commission(2-SAT:最小字典序)
- hdu 1814 Peaceful Commission 2-sat 按字典序输出
- HDU 1814 POI 2001 Peaceful Commission 2-SAT
- HDU 1814 Peaceful Commission (2-SAT) O(nm)做法
- [2-sat]HDU 1814——Peaceful Commission
- 3DsMax学生版下载问题
- 对指针的使用
- codeforces - 508C - Anya and Ghosts(贪心)
- halcon图像二值化
- 自建网页项目-蚁族财富网-记录10
- HDU 1814 Peaceful Commission(2-SAT)
- 【noip2016模拟day1】【线段树】【dp】
- 用方法论学Java之——第一章:Java 历史
- Spring学习历程---Spring学习前必学的知识之反射机制
- hdu 1226 超级密码 广搜
- Hibernate (9)双向多对一cascade属性
- 认识变量:(JS)
- C语言之分割字符串
- mysql乐观锁总结