# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
669296 | 2022-12-06T08:14:37 Z | manizare | Pipes (CEOI15_pipes) | C++17 | 1212 ms | 15588 KB |
#include <bits/stdc++.h> #define all(a) a.begin(),a.end() #define pb push_back using namespace std ; const int maxn = 1e5+100 , maxq =2e5+10 , inf = 2e17 + 100 , mod = 1e9 + 7 ; vector <pair <int , int > >G[maxn] ; int par[maxn] , par2[maxn] , p[maxn] , dp[maxn] , dis[maxn] ;bool mark[maxn] , j[maxq]; int find(int v){ if(par[v] == v)return v; return par[v] = find(par[v]); } int find2(int v){ if(par2[v] == v)return v; return par2[v] = find2(par2[v]) ; } void dfs(int v){ mark[v] = 1; for(int i = 0 ; i < G[v].size() ; i++){ int u = G[v][i].first , o = G[v][i].second; ; if(mark[u] == 1){ if(j[o] == 0 && dis[u] < (dis[v])){ dp[v] ++ ; dp[u]--; } continue ; } dis[u] = dis[v] + 1; p[u] = v; j[o] = 1; dfs(u); dp[v] += dp[u] ; } } signed main(){ ios::sync_with_stdio(0);cin.tie(0); cout.tie(0); int n , m ; cin >> n >> m ; for(int i= 1 ; i <= n ; i++){ par[i] = i ; par2[i] = i ; } int c = 1; for(int i =1 ; i <= m ; i++){ int v , u ; cin >> v >> u ; int v1 = find(v) , u1 = find(u); if(v1 != u1){ G[v].pb({u , c}) ; G[u].pb({v , c});c++; par[v1] = u1 ; }else if(find2(v) != find2(u)){ par2[find2(v)] = find2(u); G[v].pb({u,c}) ; G[u].pb({v,c});c++; } } for(int i = 1; i <= n ; i++){ if(mark[i] == 0)dfs(i); } for(int i = 1; i <= n ; i++){ if(dp[i] == 0 && p[i] != 0){ cout << i << " " << p[i] << "\n"; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2644 KB | Output is correct |
2 | Correct | 2 ms | 2644 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 3284 KB | Output is correct |
2 | Correct | 5 ms | 3028 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 90 ms | 3108 KB | Output is correct |
2 | Correct | 86 ms | 2940 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 145 ms | 3872 KB | Output is correct |
2 | Correct | 203 ms | 3464 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 262 ms | 5700 KB | Output is correct |
2 | Correct | 213 ms | 5340 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 369 ms | 11784 KB | Output is correct |
2 | Correct | 316 ms | 8840 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 689 ms | 13220 KB | Output is correct |
2 | Correct | 545 ms | 9768 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 915 ms | 15584 KB | Output is correct |
2 | Correct | 729 ms | 11624 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1026 ms | 15588 KB | Output is correct |
2 | Correct | 1047 ms | 11608 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1212 ms | 14980 KB | Output is correct |
2 | Correct | 1014 ms | 11580 KB | Output is correct |