# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
56091 |
2018-07-09T23:58:26 Z |
Yehezkiel |
Pipes (CEOI15_pipes) |
C++17 |
|
1215 ms |
14052 KB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MX=100010, inf=2e9;
int n, m;
int U[2][MX];
vector<int> G[MX];
int find(int t, int x){
return x==U[t][x] ? x : U[t][x]=find(t,U[t][x]);
}
void unite(int t, int x, int y){
if(find(t,x)==find(t,y)) return;
U[t][U[t][y]]=U[t][x];
}
int up[MX], dep[MX], now;
void dfs(int v, int p){
dep[v]=++now; up[v]=dep[v];
bool multi=false;
for(int x:G[v]){
if(x==p){
if(multi) up[v]=min(up[v], dep[p]);
multi=true;
continue;
}
if(dep[x]>0) up[v]=min(up[v], dep[x]);
else{
dfs(x,v);
up[v]=min(up[v], up[x]);
if(up[x]>dep[v]) cout<<v<<' '<<x<<'\n';
}
}
now--;
}
int main(){
ios::sync_with_stdio(0); cin.tie(0);
cin>>n>>m;
for(int i=1; i<=n; i++) U[0][i]=U[1][i]=i;
for(int i=1; i<=m; i++){
int u, v; cin>>u>>v;
if(find(0,u)==find(0,v)){
if(find(1,u)==find(1,v)) continue;
unite(1,u,v);
}
else unite(0,u,v);
G[u].push_back(v);
G[v].push_back(u);
}
for(int i=1; i<=n; i++)
if(dep[i]==0) dfs(i,-1);
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
2688 KB |
Output is correct |
2 |
Correct |
4 ms |
2676 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
3200 KB |
Output is correct |
2 |
Correct |
9 ms |
2944 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
100 ms |
3080 KB |
Output is correct |
2 |
Correct |
98 ms |
2904 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
163 ms |
3724 KB |
Output is correct |
2 |
Correct |
188 ms |
3328 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
285 ms |
5432 KB |
Output is correct |
2 |
Correct |
275 ms |
4984 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
416 ms |
10616 KB |
Output is correct |
2 |
Correct |
398 ms |
7128 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
696 ms |
11872 KB |
Output is correct |
2 |
Correct |
616 ms |
8936 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
833 ms |
14048 KB |
Output is correct |
2 |
Correct |
792 ms |
9072 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1028 ms |
14052 KB |
Output is correct |
2 |
Correct |
1026 ms |
9072 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1215 ms |
13416 KB |
Output is correct |
2 |
Correct |
1206 ms |
10584 KB |
Output is correct |