UVALive 3523Knights of the Round Table(二分图+双连通分量)(二)

2015-11-21 01:01:17 · 作者: · 浏览: 14
S; int dfs(int u,int fa) { //printf("hehe\n"); int lowu=pre[u]=++dfs_clock; int child=0; for(int i=0;i =pre[u]) { iscut[u]=1; bcc_cnt++; bcc[bcc_cnt].clear(); while(1) { Edge x=S.top(); S.pop(); if(bccno[x.u]!=bcc_cnt) { bcc[bcc_cnt].push_back(x.u); bccno[x.u]=bcc_cnt; } if(bccno[x.v]!=bcc_cnt) { bcc[bcc_cnt].push_back(x.v); bccno[x.v]=bcc_cnt; } if(x.u==u&&x.v==v)break; } } } else if(pre[v]

?