#include<bits/stdc++.h>
using namespace std;
int main()
{
int ans[102000]; /// 下次数组要开大!!!
int uset[102000]; /// N+1次RE 是不是没有脑子!!!
int t,n,m;
cin >> t;
while(t--)
{
cin >> n >> m;
memset(ans, 0, sizeof(ans));
memset(uset, 0, sizeof(uset));
while(m--)
{
int a, b;
cin >> a >> b;
uset[a] = b; /// b是a的子类!!!
ans[b]++;
}
cin >> m;
while(m--)
{
int k;
cin >> k;
cout << ans[k];
int flag = 0;
for(int i = 1; i <= n; i++)
{
if(uset[i] == k)
{
if(flag)
{
cout << " " << i;
}
else
{
cout << endl << i;
flag = 1;
}
}
}
cout << endl;
}
}
return 0;
}
判断给定森林中有多少棵树
最新推荐文章于 2020-07-31 15:52:07 发布