【HDU】4738 Caocao's Bridges 双连通分量
来源:互联网 发布:dna数据库 编辑:程序博客网 时间:2024/05/29 09:23
这题题面有毒
输出也有毒
ans=0时输出1
初始有点未连通输出0
AC时有点方
万一明天也错在这种地方咋办啊
#include <cstdio>#include <cstring>#include <algorithm>#include <stack>#define C (c=nc())using namespace std;stack<int>stk;int tot,ans,m,n,col;int to[2000005],fr[2000005],nxt[2000005],val[2000005],lnk[1005];int dfn[1005],low[1005],c[1005];bool b[1005];inline char nc(void){static char ch[100010],*p1=ch,*p2=ch;return p1==p2&&(p2=(p1=ch)+fread(ch,1,100010,stdin),p1==p2)?EOF:*p1++;}inline void read(int &n){static char c;int f=1;n=0;C;while (c<'0'||c>'9') c=='-'?f=-1,C:C;while (c>='0'&&c<='9') n=(n<<3)+(n<<1)+c-48,C;return (void)(n*=f);}void Tarjan(int x,int edge){dfn[x]=low[x]=++tot;b[x]=1,stk.push(x);register int i;for (i=lnk[x];~i;i=nxt[i]){if (i==(edge^1)) continue;if (dfn[to[i]]==0){Tarjan(to[i],i);low[x]=min(low[to[i]],low[x]);}elseif (b[to[i]]){low[x]=min(low[x],dfn[to[i]]);}}if (dfn[x]==low[x]){++col;while (x!=stk.top()) b[stk.top()]=0,c[stk.top()]=col,stk.pop();c[x]=col,b[x]=0,stk.pop();}return;}int main(void){while (1){read(n),read(m);if (n==0&&m==0) return 0;ans=2139062143,tot=0,col=0;memset(lnk,0xff,sizeof(lnk));memset(nxt,0xff,sizeof(nxt));memset(dfn,0,sizeof(dfn));memset(low,0,sizeof(low));register int i;for (i=0;i<=2*m-1;i+=2){read(fr[i]),read(to[i]),read(val[i]);nxt[i]=lnk[fr[i]],lnk[fr[i]]=i;to[i+1]=fr[i],val[i+1]=val[i];nxt[i+1]=lnk[to[i]],lnk[to[i]]=i+1;}Tarjan(1,3000000);for (i=0;i<=2*m-1;i+=2){if (c[fr[i]]!=c[to[i]]) ans=min(ans,val[i]);}if (!ans) ans=1; else if (ans==2139062143) ans=-1;for (i=1;i<=n;++i)if (!dfn[i]){ans=0;break;}printf("%d\n",ans);}return 0;}
阅读全文
0 0
- 【HDU】4738 Caocao's Bridges 双连通分量
- hdu 4738 Caocao's Bridges 2013 ACM-ICPC杭州赛区网络赛 1001 双连通分量
- hdu4738 Caocao's Bridges(双连通分量割边/桥)
- hdu 4738 Caocao's Bridges
- hdu 4738 Caocao's Bridges
- hdu 4738 Caocao's Bridges
- HDU:4738 Caocao's Bridges
- HDU 4738 Caocao's Bridges
- HDU 4738 Caocao's Bridges
- hdu 4738 - Caocao's Bridges
- hdu 4738 Caocao's Bridges
- HDU-4738Caocao's Bridges
- HDU Caocao's Bridges
- Caocao's Bridges HDU
- hdu 4738—— Caocao's Bridges
- hdu - 4738 Caocao's Bridges 割边
- HDU 4738 Caocao's Bridges(找割边)
- hdu 4738——Caocao's Bridges
- anjular计时器和
- SpringMVC+mybatis基础配置
- AngularJS过滤器
- AndroidStudio多渠道打包
- Mac 快捷键
- 【HDU】4738 Caocao's Bridges 双连通分量
- (Linux)dialog is needed for vertica-8.1.0-1.x86_64
- 在studio创建selector文件 用于改变RadioButton选择背景颜色
- opencv学习笔记(2)
- 复制目录和文件
- 'z' is a bad directive Python无法解析带时区的时间戳字符串
- 链表的相关操作(2)
- 机器学习_马尔科夫模型
- ACM准备之路(算法竞赛入门经典1)排列