# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
28717 | rondojim | Pipes (CEOI15_pipes) | C++14 | 2413 ms | 65536 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
const int MAXN = 8e4 + 5;
typedef pair<int, int> edge;
vector<int> adj[MAXN];
bool vis[MAXN];
int num[MAXN], low[MAXN], pos = 1, N, M;
vector<edge> bridges;
void dfs(int u, int p){
vis[u] = true;
num[u] = pos++;
low[u] = num[u];
for(int v : adj[u]){
if(vis[v] == false){
dfs(v, u);
low[u] = min(low[u], low[v]);
if(low[v] > num[u]) bridges.push_back((edge){min(v,u),max(v,u)});
}
else if(v != p) low[u] = min(low[u], num[v]);
}
}
int main(){
scanf("%d %d", &N, &M);
int a, b;
set<edge> S;
while(M--){
scanf("%d %d", &a, &b);
int aa = min(a, b), bb = max(a, b);
edge p = {aa, bb};
if(S.find(p) != S.end()) continue;
S.insert(p);
adj[a].push_back(b);
adj[b].push_back(a);
}
for(int i=1; i<=N; ++i) if(!vis[i]){ pos = 1; dfs(i, -1); }
for(int i=0; i<bridges.size(); ++i) printf("%d %d\n", bridges[i].first, bridges[i].second);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |