# include <stdio.h>
# include <bits/stdc++.h>
#define Accepted 0
#define pb push_back
#define F first
#define S second
#define For(i,x,y) for (int i = x; i <= y; i ++)
#define FOr(i,x,y) for (int i = x; i >= y; i --)
#define SpeedForce ios_base::sync_with_stdio(0), cin.tie(0)
using namespace std;
int n, m;
bitset < 30101 > g[30101];
bitset < 30101 > has[30101];
bitset < 30101 > was[30101];
bitset < 30101 > ans[30101];
int tin[30101];
int fup[30101];
int timer;
inline void dfs (int v, int par) {
tin[v] = fup[v] = ++ timer;
for (int i = g[v]._Find_first(); i < g[v].size(); i = g[v]._Find_next(i)) {
if (i == par) continue;
if (tin[i]) {
fup[v] = min(fup[v], tin[i]);
} else {
dfs (i, v);
fup[v] = min(fup[v], fup[i]);
if (tin[v] < fup[i]) {
if(has[v][i]) continue;
ans[min(v, i)][max(v, i)] = 1;
}
}
}
}
int main () {
cin >> n >> m;
For (i, 1, m) {
int l, r;
cin >> l >> r;
if (was[l][r]) {
has[l][r] = 1;
has[r][l] = 1;
}
was[l][r] = 1;
was[r][l] = 1;
g[l][r] = 1;
g[r][l] = 1;
}
For (i, 1, n) {
if (!tin[i]) {
dfs (i, i);
}
}
For (v, 1, n) {
for (int i = ans[v]._Find_first(); i < ans[v].size(); i = ans[v]._Find_next(i))
cout << v << ' ' << i << '\n';
}
return Accepted;
}
Compilation message
pipes.cpp: In function 'void dfs(int, int)':
pipes.cpp:26:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = g[v]._Find_first(); i < g[v].size(); i = g[v]._Find_next(i)) {
~~^~~~~~~~~~~~~
pipes.cpp: In function 'int main()':
pipes.cpp:63:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = ans[v]._Find_first(); i < ans[v].size(); i = ans[v]._Find_next(i))
~~^~~~~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1024 KB |
Output is correct |
2 |
Correct |
3 ms |
1152 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
44 ms |
34892 KB |
Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
432 ms |
39788 KB |
Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
62 ms |
65536 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
66 ms |
65536 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
12 ms |
384 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
11 ms |
420 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
11 ms |
556 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
12 ms |
448 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
11 ms |
472 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |