(STL)乱搞过去的。
map<int,set<int>> mp;
int n,m;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
int a,b;
cin>>a>>b;
mp[a].insert(b);
mp[b].insert(a);
}
while(m--)
{
int k;
cin>>k;
set<int> S;
for(int i=0;i<k;i++)
{
int x;
cin>>x;
S.insert(x);
}
bool ok=true;
for(auto x:S)
{
for(auto y:mp[x])
if(S.count(y))
{
ok=false;
break;
}
if(!ok) break;
}
if(ok) puts("Yes");
else puts("No");
}
//system("pause");
return 0;
}
参考(color{green}{yls})代码。
const int N=10010;
PII a[N];
int n,m;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i].fi>>a[i].se;
while(m--)
{
int k;
cin>>k;
set<int> S;
for(int i=0;i<k;i++)
{
int x;
cin>>x;
S.insert(x);
}
bool ok=true;
for(int i=0;i<n;i++)
if(S.count(a[i].fi) && S.count(a[i].se))
{
ok=false;
break;
}
if(ok) puts("Yes");
else puts("No");
}
//system("pause");
return 0;
}