제출 #739072

#제출 시각아이디문제언어결과실행 시간메모리
739072kirakaminski968Pipes (CEOI15_pipes)C++17
10 / 100
1742 ms65536 KiB
#include <bits/stdc++.h> using namespace std; void dfs(int u, int p, vector<int> &num, vector<int> &low, int timer, vector<vector<int>> &g){ low[u] = num[u] = ++timer; for(int v : g[u]){ if(!num[v]){ dfs(v, u, num, low, timer, g); if(low[v] > num[u]) cout << u+1 << " " << v+1 << "\n"; low[u] = min(low[u], low[v]); } else if(v != p) low[u] = min(low[u], num[v]); } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int N,M; cin >> N >> M; vector<vector<int>> g(N); for(int i = 0;i<M;++i){ int a,b; cin >> a >> b; --a; --b; g[a].push_back(b); g[b].push_back(a); } vector<int> num(N),low(N); for(int i = 0; i < N; i++) if(!num[i]) dfs(i, -1, num, low, 0,g); 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...