此题用的是并查集的思路,时间很慢,应该有更好的思路,但以目前的知识只能做成这样
#includeusing namespace std;const int maxn=10001;struct UFSTree{ int data; int parent; int rank;}t[maxn];int N;void init(){ int i; for(i=0;i >T; while(T--) { cin>>N; init(); int i,p,c; for(i=0;i >p>>c; Union(p,c); } int n1,n2; cin>>n1>>n2; int oc=find(n1,n2); cout< <