답안 #781221

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
781221 2023-07-13T00:03:41 Z NK_ Pipes (CEOI15_pipes) C++17
0 / 100
8 ms 8432 KB
// 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++) {
		stk[i] = mp(-1, -1);
		disc[i] = -1;
		crit[i] = 1;
		adj[i] = {};
	}	

	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 6 ms 8376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 8328 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 8 ms 8432 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 8 ms 8408 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 8420 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 8404 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 8340 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 7 ms 8404 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 8348 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 8404 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -