Submission #550072

#TimeUsernameProblemLanguageResultExecution timeMemory
550072SmolBrainPipes (CEOI15_pipes)C++17
20 / 100
370 ms43740 KiB
// Om Namah Shivaya // GM in 107 days #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL) #define endl '\n' #define pb push_back #define conts continue #define rep(i,n) for(int i = 0; i < n; ++i) #define rep1(i,n) for(int i = 1; i <= n; ++i) #define rev(i,s,e) for(int i = s; i >= e; --i) #define trav(i,a) for(auto &i : a) template<typename T> void amin(T &a, T b) { a = min(a, b); } template<typename T> void amax(T &a, T b) { a = max(a, b); } const int maxn = 3e4 + 1; const int inf1 = 1e9 + 5; vector<pii> adj[maxn]; vector<int> tin(maxn), low(maxn, inf1); bitset<maxn> vis; int timer = 1; void dfs(int node, int prevedge) { vis[node] = 1; tin[node] = timer++; for (auto [child, id] : adj[node]) { if (vis[child]) { if (id != prevedge) { // back edge amin(low[node], tin[child]); } } else { // front edge dfs(child, id); amin(low[node], low[child]); if (low[child] > tin[node]) { cout << node << " " << child << endl; } } } } void solve(int test_case) { int n, m; cin >> n >> m; rep1(i, m) { int u, v; cin >> u >> v; adj[u].pb({v, i}), adj[v].pb({u, i}); } rep1(i, n) { if (vis[i]) conts; dfs(i, -1); } } int main() { fastio; int t = 1; // cin >> t; rep1(i, t) { solve(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...