✎
编程开发网
首页
C语言
C++
面试
Linux
函数
Windows
数据库
下载
搜索
当前位置:
首页
->
AI编程基础
->
c++编程基础
Get Luffy Out (poj 2723 二分+2-SAT)(二)
2015-11-21 00:55:30
·
作者:
·
浏览:
16
标签:
Get
Luffy
Out
poj
2723二分
2-SAT
Belong[MAXN]; bool Instack[MAXN]; int top,scc,Index; int a[MAXN][2],b[MAXN][2],m; void init() { tot=0; memset(head,-1,sizeof(head)); } void addedge(int u,int v) { edge[tot].to=v; edge[tot].next=head[u]; head[u]=tot++; } void Tarjan(int u) { int v; Low[u]=DFN[u]=Index++; Instack[u]=true; Stack[top++]=u; for (int i=head[u];~i;i=edge[i].next) { int v=edge[i].to; if (!DFN[v]) { Tarjan(v); if (Low[u]>Low[v]) Low[u]=Low[v]; } else if (Instack[v]&&Low[u]>DFN[v]) Low[u]=DFN[v]; } if (Low[u]==DFN[u]) { scc++; do{ v=Stack[--top]; Instack[v]=false; Belong[v]=scc; }while (v!=u); } return ; } bool solvable(int n) { memset(DFN,0,sizeof(DFN)); memset(Instack,false,sizeof(Instack)); top=scc=Index=0; for (int i=0;i
>1; if (isok(mid,n)) { ans=mid; l=mid+1; } else r=mid-1; } printf(%d ,ans); } int main() { #ifndef ONLINE_JUDGE freopen(C:/Users/lyf/Desktop/IN.txt,r,stdin); #endif int i,j,n; while (scanf(%d%d,&n,&m)) { if (n==0&&m==0) break; for (i=0;i
?
?
?
?
首页
上一页
1
2
下一页
尾页
2
/2/2