Submission #1084675

#TimeUsernameProblemLanguageResultExecution timeMemory
1084675SulAPipes (CEOI15_pipes)C++17
10 / 100
1087 ms65536 KiB
#include <bits/stdc++.h> using namespace std; vector<int> adj[100000]; int dep[100000], low[100000]; void dfs(int v = 0, int p = 0) { low[v] = dep[v] = dep[p] + 1; for (int ch : adj[v]) { if (ch == p) continue; if (dep[ch] == 0) { dfs(ch, v); low[v] = min(low[v], low[ch]); } else { low[v] = min(low[v], dep[ch]); } } if (low[v] == dep[v] && v != p) { cout << v+1 << " " << p+1 << "\n"; } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n,m; cin >> n >> m; while (m--) { int u,v; cin >> u >> v; adj[--u].push_back(--v); adj[v].push_back(u); } for (int i = 0; i < n; i++) if (dep[i] == 0) dfs(i, i); }
#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...