// Success consists of going from failure to failure without loss of enthusiasm
#include <bits/stdc++.h>
using namespace std;
#define nl '\n'
#define f first
#define s second
#define mp make_pair
#define pb push_back
using pi = pair<int, int>;
template<class T> using V = vector<T>;
const int nax = 6e6+5;
const int kax = 1e5+5;
pi stk[kax], E[nax];
int disc[kax], crit[nax], cur, ti;
V<pi> adj[kax];
void dfs(int u, int x) {
disc[u] = ++ti;
for(auto e : adj[u]) {
int v, i; tie(v, i) = e;
if (i == x) continue;
if (disc[v] == -1) {
stk[cur++] = mp(u, i);
dfs(v, i);
} else {
int up = disc[v];
crit[i] = 0;
// cout << v << " " << up << endl;
while(cur > 0 && disc[stk[cur - 1].f] >= up) crit[stk[--cur].s] = 0;
}
}
}
int main() {
cin.tie(0)->sync_with_stdio(0);
cur = ti = 0;
for(int i = 0; i < nax; i++) crit[i] = 1;
for(int i = 0; i < kax; i++) {
disc[i] = -1;
adj[i] = {};
stk[i] = mp(-1, -1);
}
int N, M; cin >> N >> M;
for(int e = 0; e < M; e++) {
int u, v; cin >> u >> v; --u, --v;
E[e] = mp(u + 1, v + 1);
adj[u].pb(mp(v, e));
adj[v].pb(mp(u, e));
}
for(int i = 0; i < N; i++) if (disc[i] == -1) dfs(i, -1);
for(int i = 0; i < M; i++) if (crit[i]) {
cout << E[i].f << " " << E[i].s << endl;
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
13 ms |
27244 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
16 ms |
27988 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
100 ms |
47888 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
179 ms |
65536 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
256 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
275 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
306 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
401 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
397 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
341 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |