代码大致如下:
void dfs(int u,int fa){ for(int i:edges[u]){ if(i==fa)continue; if(!vis[i])dfs(i,u); } } for(int i=1;i<=n;i++)dfs(i,-1);