UVA 1146 Now or later(2-SAT)
来源:互联网 发布:gnuradio python模块 编辑:程序博客网 时间:2024/05/16 03:30
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;const int maxn=2000+5;struct TwoSAT{ int n; vector<int> G[maxn*2]; int 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<n*2;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,T[maxn][2];bool test(int diff){ solver.init(n); for(int i=0;i<n;i++){ for(int a=0;a<2;a++){ for(int j=i+1;j<n;j++){ for(int b=0;b<2;b++){ if(abs(T[i][a]-T[j][b])<diff) solver.add_clause(i,a^1,j,b^1); } } } } return solver.solve();}int main(){ while(scanf("%d",&n)!=EOF) { int L=0,R=0; for(int i=0;i<n;i++){ scanf("%d%d",&T[i][0],&T[i][1]); R=max(R,T[i][1]); } while(L<R){ int M=L+(R-L+1)/2; if(test(M)) L=M;else R=M-1; } printf("%d\n",L); } return 0;}
0 0
- UVA 1146 Now or later(2-SAT)
- Now or later UVA - 1146 2-sat
- UVa 1146 Now or Later (2-SAT)
- UVa 1146 - Now or later(2-SAT + 二分)
- UVA 1146 Now or later(2-SAT问题)
- Uva 1146 - Now or later 二分+构图2-sat判断
- uva 1146 - Now or later(二分+2sat)
- UVA 1146 - Now or later(2-SET)
- UVA 1146 Now or later
- UVA - 1146 Now or later
- LA 3211 Now or later / 2-SAT
- LA3211--Now or later(2-sat)
- UVALive3211- Now or later(二分+2-SAT)
- UVALive - 3211 Now or later (2-SAT)
- 【UVA1146】NOW OR LATER 2-SAT问题
- UVAlive3211 Now or later(2-SAT)
- La3211 Now or later 2-Sat
- La3211 Now or Later(2-SAT判定+二分法)
- Android创建子线程和回调主线程的几种方式
- Python解析HTML实例
- 17个CSS知识点总结
- C语言之按行读取文件
- Struts2下拉按钮标签:select的使用
- UVA 1146 Now or later(2-SAT)
- SQL基础学习
- 【Servlet】Filter过滤器
- 经典题
- 不用Pandas包和用pandas包处理数据集
- 共用体union
- 【bzoj 2190】[SDOI2008]仪仗队(线性筛)
- C++ 对象模型 笔记一
- 四、MongoDB数据服务的逻辑结构