本来还想着试试测试用例看看有什么问题结果从构思到码完直接AC了(不适应)。。。
#include<bits/stdc++.h>
using namespace std;
const int N = 1e4+3;
map<int,vector<int>> mp;//本题关键
set<int> se;
//int x[N][2];
int main(){
int n,m;
cin>>n>>m;
for(int i = 0;i<n;i++){
int s1,s2;
cin>>s1>>s2;
//x[i][0] = s1;
//x[i][0] = s2;
mp[s1].push_back(s2);//核心
mp[s2].push_back(s1);//核心
}
int flag = 0;
for(int i = 0;i<m;i++){
int s;
cin>>s;
vector<int> temp;
for(int j = 0;j<s;j++){
int k;
cin>>k;
temp.push_back(k);
se.insert(k);
}
for(int p = 0;p<temp.size();p++){
for(int h = 0;h<mp[temp[p]].size();h++){
if(se.find(mp[temp[p]][h])!=se.end()){
flag = 1;
break;
}
}
if(flag==1) break;
}
se.clear();
if(flag==1){
cout<<"No"<<endl;
flag = 0;
}
else{
cout<<"Yes"<<endl;
}
}
return 0;
}