我用了二位数组set。
#include<bits/stdc++.h>
using namespace std;
int main()
{
set<int> a[1000005];
int n,m,i,x,y;
cin>>n>>m;
for(i=m+1;i<=n;i++)
{
cin>>x>>y;
if(a[x].empty())
{
a[x].insert(x);
}
if(a[y].empty())
{
a[y].insert(y);
}
a[i].insert(a[x].begin(),a[x].end());
a[i].insert(a[y].begin(),a[y].end());
cout<<a[i].size()<<'\n';
}
return 0;
}
本地测试过了,可以正常弹出小黑窗,但什么也干不了,直接结束了