[2-SAT 字典序最小解 暴力dfs 模板题] HDU 1814 Peaceful Commission
来源:互联网 发布:java程序设计叶核亚 编辑:程序博客网 时间:2024/06/06 01:40
模板题啦 暴力dfs的理论复杂度据说是
这个跟tarjan比有个好 就是能求字典序最小解
#include<cstdio> #include<cstdlib> #include<algorithm> #include<vector>#include<cstring>#define cl(x) memset(x,0,sizeof(x))using namespace std;const int N=20005;struct edge{ int u,v,next;}G[N<<1];int head[N],inum;inline void add(int u,int v,int p){ G[p].u=u; G[p].v=v; G[p].next=head[u]; head[u]=p;}int vst[N];int pnt,Stack[N];#define V G[p].vinline int dfs(int u){ if (vst[u^1]) return 0; if (vst[u]) return 1; Stack[++pnt]=u; vst[u]=1; for (int p=head[u];p;p=G[p].next) if (!dfs(V)) return 0; return 1;}int n,m;inline int Solve(){ cl(vst); for(int i=0;i<2*n;i+=2) if (!vst[i] && !vst[i^1]){ pnt=0; if (!dfs(i)){ while (pnt) vst[Stack[pnt--]]=0; if (!dfs(i^1)) return 0; } } return 1; }int main(){ int iu,iv; freopen("t.in","r",stdin); freopen("t.out","w",stdout); while (~scanf("%d%d",&n,&m)){ for(int i=1;i<=m;i++) scanf("%d %d",&iu,&iv),iu--,iv--,add(iu,iv^1,++inum),add(iv,iu^1,++inum); if (Solve()) for(int i=0;i<2*n;i+=2) printf("%d\n",vst[i]?i+1:i+2); else printf("NIE\n"); cl(head); inum=0; } return 0; }
0 0
- [2-SAT 字典序最小解 暴力dfs 模板题] HDU 1814 Peaceful Commission
- hdoj 1814 Peaceful Commission 【2-sat暴力染色 求解字典序最小解】
- HDU 1814 Peaceful Commission(2-sat 输出字典序最小解 )
- HDU 1814:Peaceful Commission(2-SAT的字典序最小解)
- 【2-SAT字典序最小解】HDU1814[Peaceful Commission]题解
- 2-SAT DFS暴力求最小字典序的模板(Peaceful Commission)
- HDU 1814 Peaceful Commission(2-sat 模板题输出最小字典序解决方案)
- HDU 1814 Peaceful Commission(2-SAT:最小字典序)
- hdu 1814 Peaceful Commission 2-sat 按字典序输出
- HDU 1814Peaceful Commission (最小字典序 2-SAT)
- HDOJ 1814 - Peaceful Commission 输出字典序最小的2-sat方案...暴力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)
- .NET领域驱动设计—初尝(疑问、模式、原则、工具、过程、框架、实践)
- 【设计模式】—-(18)备忘录模式(行为型)
- centos 虚拟机联网
- BZOJ3167: [Heoi2013]Sao
- 神经网络迷你项目
- [2-SAT 字典序最小解 暴力dfs 模板题] HDU 1814 Peaceful Commission
- CSS(表格_轮廓)
- android studio打开github项目总是错误解决方案
- 嵌入式系统知识点总结(一)
- 某拖延症晚期的2016年终总结
- 简单了解进程和线程的区别
- 开门人和关门人
- bzoj 1442: [Poi2006]Crystal
- BZOJ3170: [Tjoi 2013]松鼠聚会