水题
领接表的方式存储每一个结点不相容的结点。然后hash看该物品有没有在该清单上出现
code
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,q,x,y,k;
cin>>n>>q;
vector <int> g[100000];
for(int i=0;i<n;i++){
cin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
for(int i=0;i<q;i++){
int judge=1;
vector<int> res(100000,0);
cin>>k;
while(k--){
cin>>x;
if(res[x]==1) judge=0;
res[x]=1;
for(int i=0;i<g[x].size();i++) res[g[x][i]]=1;
}
judge?cout<<"Yes"<<endl:cout<<"No"<<endl;
}
return 0;
}