// // main.cpp // B // // Created by 黄宇凡 on 16/1/2. // Copyright © 2016年 黄宇凡. All rights reserved. // #include #include #include #include using namespace std; const int MAX=1e5+5; int par[MAX],val[MAX]; int findpar(int x){ if (par[x]==x) return x; else {val[x]=val[par[x]];return par[x]=findpar(par[x]);} } void unite(int x,int y){ x=findpar(x),y=findpar(y); if (x==y) return; else{ par[x]=y; val[y]+=val[x]; } } bool issame(int x,int y){ x=findpar(x),y=findpar(y); return (x==y); } void init(int N){ for (int i=0;i<=N;i++){ par[i]=i; val[i]=1; } } int main() { int T; cin>>T; while (T--){ int n; scanf("%d",&n); init(n); for (int i=0;i