답안 #781225

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
781225 2023-07-13T00:05:45 Z NK_ Pipes (CEOI15_pipes) C++17
0 / 100
401 ms 65536 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++) 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 -