Submission #591460

#TimeUsernameProblemLanguageResultExecution timeMemory
591460andrei_boacaPipes (CEOI15_pipes)C++14
20 / 100
968 ms65536 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int,int> pii; int n,m; vector<pii> muchii[100005]; bool use[100005]; int topar[100005],par[100005]; int niv[100005],nivmin[100005]; void dfs(int nod) { use[nod]=1; nivmin[nod]=niv[nod]; for(auto i:muchii[nod]) { int node=i.first,index=i.second; if(index==topar[nod]) continue; if(!use[node]) { par[node]=nod; topar[node]=index; niv[node]=niv[nod]+1; dfs(node); nivmin[nod]=min(nivmin[nod],nivmin[node]); } else nivmin[nod]=min(nivmin[nod],niv[node]); } if(nivmin[nod]==niv[nod]&&par[nod]!=0) cout<<par[nod]<<' '<<nod<<'\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin>>n>>m; for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; muchii[a].push_back({b,i}); muchii[b].push_back({a,i}); } for(int i=1;i<=n;i++) if(!use[i]) { niv[i]=1; dfs(i); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...