답안 #675609

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
675609 2022-12-27T13:55:11 Z penguin133 Pipes (CEOI15_pipes) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;
 
#define int long long
#define pi pair<int, int>
#define pii pair<int, pi>
#define fi first
#define se second
 
int ret[100005], dep[100005], vis[100005];
 
vector<pi>v[100005];
int n, m;
 
inline int read() {
    int v = 0;
    char ch = getchar_unlocked();
    while ((ch & 16) == 0) ch = getchar_unlocked();
    while (ch & 16){
        v = (v * 10) + (ch & 15);
        ch = getchar_unlocked();
    }
    return v;
}
vector<pi>ans;
 
void dfs(int x, int p, int d){
	if(vis[x])return;
	vis[x] = 1;
	dep[x] = d;
	ret[x] = dep[x];
	for(auto [i, j] : v[x]){
		if(j == p)continue;
		if(vis[i]){
			ret[x] = min(ret[x], dep[i]);
			continue;
		}
		dfs(i, j, d + 1);
		if(ret[i] > dep[x])ans.push_back({i, x});
		ret[x] = min(ret[x], ret[i]);
	}
}
 
void dfs2(int x, int p){
	ret[x] = dep[x];
	for(auto [i, j] : v[x])if(j != p)ret[x] = min(ret[x], dep[i]);
	for(auto [i, j] : adj[x]){
		if(j == p)continue;
		dfs2(i, j);
		if(ret[i] > dep[x])cout << i << " " << x << '\n';
		ret[x] = min(ret[x], ret[i]);
	}
}
 
int32_t main(){
	//ios::sync_with_stdio(0);cin.tie(0);
	n = read(), m = read();
	for(int i=1;i<=m;i++){
		int x = read(), y = read();
		v[x].push_back({y, i});
		v[y].push_back({x, i});
	}
	
	for(int i=1;i<=n;i++)if(!vis[i])dfs(i, -1, 1);
}

Compilation message

pipes.cpp: In function 'void dfs2(long long int, long long int)':
pipes.cpp:47:20: error: 'adj' was not declared in this scope
   47 |  for(auto [i, j] : adj[x]){
      |                    ^~~