Submission #675610

#TimeUsernameProblemLanguageResultExecution timeMemory
675610penguin133Pipes (CEOI15_pipes)C++17
0 / 100
265 ms65536 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second int ret[100005], dep[100005], vis[100005]; vector<pi>v[100005]; int n, m; inline int read() { int v = 0; char ch = getchar_unlocked(); while ((ch & 16) == 0) ch = getchar_unlocked(); while (ch & 16){ v = (v * 10) + (ch & 15); ch = getchar_unlocked(); } return v; } vector<pi>ans; void dfs(int x, int p, int d){ if(vis[x])return; vis[x] = 1; dep[x] = d; ret[x] = dep[x]; for(auto [i, j] : v[x]){ if(j == p)continue; if(vis[i]){ ret[x] = min(ret[x], dep[i]); continue; } dfs(i, j, d + 1); if(ret[i] > dep[x])ans.push_back({i, x}); ret[x] = min(ret[x], ret[i]); } } int32_t main(){ //ios::sync_with_stdio(0);cin.tie(0); n = read(), m = read(); for(int i=1;i<=m;i++){ int x = read(), y = read(); v[x].push_back({y, i}); v[y].push_back({x, i}); } for(int i=1;i<=n;i++)if(!vis[i])dfs(i, -1, 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...