Advertisement
RaFiN_

bridge

Mar 16th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.53 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define mx 10005
  5. #define pii pair<int,int>
  6.  
  7. int ans,vis[mx],low[mx],d[mx],par[mx],pkkkkk,arr[mx];vector<int>v[mx];set<pii>st;
  8. set<pii>::iterator it;
  9. void dfs(int s)
  10. {
  11.     pkkkkk=pkkkkk+1;
  12.     d[s]=low[s]=pkkkkk;
  13.     vis[s]=1;
  14.     for(int i=0;i<v[s].size();i++)
  15.     {
  16.         int u=v[s][i];
  17.         if(u==par[s])continue;
  18.         if(vis[u]==1)
  19.         {
  20.             low[s]=min(low[s],d[u]);
  21.         }
  22.         else
  23.         {
  24.             par[u]=s;
  25.             dfs(u);
  26.             low[s]=min(low[u],low[s]);
  27.             if(low[u]>d[s])
  28.             {
  29.                 st.insert(pii(min(s,u),max(s,u)));
  30.             }
  31.         }
  32.     }
  33. }
  34.  
  35.  
  36. int main()
  37. {
  38.  
  39.     int t;
  40.     scanf("%d",&t);
  41.     for(int q=0;q<t;q++)
  42.     {
  43.         int n,m;pkkkkk=0;
  44.         scanf("%d",&n);
  45.         ans=0;st.clear();
  46.         for(int i=0;i<=n;i++)
  47.         {
  48.             vis[i]=0;
  49.             v[i].clear();
  50.         }
  51.         for(int i=0;i<n;i++)
  52.         {
  53.             int nodeno,son,a;
  54.             scanf("%d (%d)",&nodeno,&son);
  55.             for(int j=0;j<son;j++)
  56.             {
  57.                 scanf("%d",&a);
  58.                 v[nodeno].push_back(a);
  59.             }
  60.  
  61.         }
  62.  
  63.         for(int i=0;i<=n;i++)
  64.         {
  65.             if(!vis[i])dfs(i);
  66.         }
  67.  
  68.         printf("Case %d:\n",q+1);
  69.         printf("%d critical links\n",st.size());
  70.         for(it=st.begin();it!=st.end();it++)
  71.         {
  72.             printf("%d - %d\n",it->first,it->second);
  73.         }
  74.     }
  75.  
  76.     return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement