题意:
给定n个集合,问x和y是否同时属于至少一个集合,x可以等于y。
思路:
bitset
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <string>
#define ll long long
using namespace std;
bitset<1005> a[10005];//用值当做下标
int main()
{
ios::sync_with_stdio(false);
int n,x,m,k,y;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&k);
while(k--)
{
scanf("%d",&x);
a[x].set(i);//初始a[i]都等于0
}
}
scanf("%d",&m);
while(m--)
{
scanf("%d%d",&x,&y);
if((a[x]&a[y]).any())
printf("Yes\n");
else
printf("No\n");
}
return 0;
}