Submission #1266156

#TimeUsernameProblemLanguageResultExecution timeMemory
1266156PlayVoltzPipes (CEOI15_pipes)C++20
30 / 100
1662 ms94448 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair<int, int> #define mp make_pair #define pb push_back int counter=0; vector<vector<int> > graph; vector<int> low, disc; void dfs(int node, int par){ disc[node]=low[node]=counter++; bool done=false; for (auto num:graph[node]){ if (disc[num]==-1){ dfs(num, node); low[node]=min(low[node], low[num]); if (low[num]>disc[node])cout<<node+1<<" "<<num+1<<"\n"; } else if (num==par && !done)done=1; else low[node]=min(low[node], disc[num]); } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m, a, b; cin>>n>>m; graph.resize(n); disc.resize(n, -1); low.resize(n); while (m--){ cin>>a>>b;--a;--b; graph[a].pb(b); graph[b].pb(a); } for (int i=0; i<n; ++i)if (disc[i]==-1)dfs(i, -1); }
#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...