检查你是不是写了类似这样的代码:
for(int i=1;i<=n;i++) if(d[i]<2) for(int j=i+1;j<=n;j++) if(d[j]<2&&getfa(i)!=getfa(j)) a[++ct]={i,j},hb(i,j);
注意在第一个循环内判完 di<2d_i < 2di<2 之后,在第二个循环里 did_idi 还是可能会超过 222。