ZOJ 2588 Burning Bridges(强连通分量)

2015-07-20 17:49:39 · 作者: · 浏览: 3

题目地址:ZOJ 2588

因为数组开小了而TLE了。。这题就是一个求无向连通图最小割边。只要判断dfn[u]是否

代码如下;

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         #include 
        
          #include 
         
           #include 
           #include 
           
             #include 
            
              using namespace std; int head[20020], cnt, index1, ans; int low[20103], dfn[20103], road[20103]; struct node { int num, u, v, next, tag; } edge[220000]; void add(int num, int u, int v) { int i; for(i=head[u]; i!=-1; i=edge[i].next) { if(edge[i].v==v) break; } if(i!=-1) { edge[i].tag=1; return ; } edge[cnt].tag=0; edge[cnt].num=num; edge[cnt].v=v; edge[cnt].next=head[u]; head[u]=cnt++; } void tarjan(int u, int fa) { low[u]=dfn[u]=++index1; for(int i=head[u]; i!=-1; i=edge[i].next) { int v=edge[i].v; if(v==fa) continue ; if(!dfn[v]) { tarjan(v,u); low[u]=min(low[u],low[v]); if(dfn[u]