# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
40427 | Pajaraja | Pipes (CEOI15_pipes) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
vector<int> g[30007];
int d[30007];
void dfs(int s,int du,int f)
{
int x=10000007;
d[s]=du;
int cnt=0;
for(int i=0;i<g[s].size();i++)
{
if(cnt==0 && g[s][i]==f)
{
cnt++;
continue;
}
if(d[g[s][i]]==-1)
{
int y=dfs(g[s][i],du+1,s);
if(minx[g[s][i]]>du) printf("%d %d\n",s,g[s][i]);
x=fmin(x,y);
}
else x=fmin(x,d[g[s][i]]);
}
}
int main()
{
int n,m;
fill(d,d+30007,-1);
scanf("%d%d",&n,&m);
for(int i=0;i<m;i++)
{
int t1,t2;
scanf("%d%d",&t1,&t2);
g[t1].push_back(t2);
g[t2].push_back(t1);
}
for(int i=1;i<=n;i++) if(d[i]==-1) dfs(i,0,-1);
}