这题随机数据很强,你有错基本能拍出来。
谨以此纪念我十分钟想出思路,写个 dsu on tree 写了一个多小时,还是拿正解拍才拍出来。(
#include<bits/stdc++.h>
using namespace std;
int n=15;
int main()
{
freopen("data.in","w",stdout);
srand(time(0));
cout<<100<<endl;
for(int T=1;T<=100;T++)
{
cout<<n<<" "<<rand()%15<<endl;
for(int i=2;i<=n;i++) cout<<rand()%(i-1)+1<<" ";
puts("");
for(int i=1;i<=n;i++) if(rand()%3==0) printf("-1 ");else cout<<rand()%15<<" ";
puts("");
}
return 0;
}