#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]){
| ^~~