#include<iostream>
#include<cstdio>
#define N 400001
using namespace std;
int n,m,d,cnt,tot;
int fa[N],q[N],head[N],ans[N];
bool used[N],del[N];
struct edge{
int to,next;
}e[N];
inline int find(int x){
return fa[x]==x?x:fa[x]=find(fa[x]);
}
void insert(int u,int v){
e[++cnt]=(edge){v,head[u]};head[u]=cnt;
e[++cnt]=(edge){u,head[v]};head[v]=cnt;
}
void ins(int x){
int p=find(x),q;
for(int i=head[x];i;i=e[i].next){
if(used[e[i].to]){
q=find(e[i].to);
if(p!=q)fa[q]=......
阅读全文