답안 #948456

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
948456 2024-03-18T06:28:54 Z vjudge1 Pipes (CEOI15_pipes) C++17
20 / 100
731 ms 65536 KB
#include <bits/stdc++.h>
using namespace std;
 
//#define int long long
#define pb push_back
#define ff first
#define ss second
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define sz(v) (int)v.size()
 
//const int INF = 1e18;
const int mod = 998244353;
const int N = 1e5+5;

int n;
vector<vector<pair<int,int>>> adj;
vector<bool> visited;
vector<int> tin, low;
int timer;
map<pair<int,int>,bool> bridge;

void IS_BRIDGE(int u, int v){
	cout << u + 1 << ' ' << v + 1 << '\n';
}

void dfs(int v, int ind = -1) {
    visited[v] = true;
    tin[v] = low[v] = timer++;
    for (auto [to, nxt] : adj[v]) {
        if (nxt == ind) continue;
        if (visited[to]) {
            low[v] = min(low[v], tin[to]);
        } else {
            dfs(to, nxt);
            low[v] = min(low[v], low[to]);
            if (low[to] > tin[v])
                IS_BRIDGE(v, to);
        }
    }
}

void find_bridges() {
    timer = 0;
    visited.assign(n, false);
    tin.assign(n, -1);
    low.assign(n, -1);
    for (int i = 0; i < n; ++i) {
        if (!visited[i])
            dfs(i);
    }
}

void solve(){
	cin >> n;
	int m; cin >> m;
	adj.resize(n);
	for(int i = 0; i < m; i++){
		int u, v; cin >> u >> v;
		u--; v--;
		adj[u].pb({v, i});
		adj[v].pb({u, i});
	}
	find_bridges();
}

main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int tt = 1;
	//cin >> tt;
	while (tt--) {
		solve();
	}
}

Compilation message

pipes.cpp:67:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   67 | main(){
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 600 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 1368 KB Output is correct
2 Correct 3 ms 860 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 91 ms 18100 KB Memory limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 172 ms 27752 KB Memory limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 312 ms 47616 KB Memory limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 460 ms 50260 KB Memory limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 637 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 731 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 717 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 684 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -