输入样例:
6 3
20001 20002
20003 20004
20005 20006
20003 20001
20005 20004
20004 20006
4 00001 20004 00002 20003
5 98823 20002 20003 20006 10010
3 12345 67890 23333
输出样例:
No
Yes
Yes
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
int n, k, t1, t2;
map<int,vector<int> > m;
cin>>n>>k;
for (int i = 0; i < n; i++) {
cin>>t1>>t2;
m[t1].push_back(t2);
m[t2].push_back(t1);
}
while (k--) {
int cnt, flag = 0, a[100000] = {0};
cin>>cnt;
vector<int> v(cnt);
for (int i = 0; i < cnt; i++) {
cin>>v[i];
a[v[i]] = 1;
}
for (int i = 0; i < cnt&&!flag; i++)
for (int j = 0; j < m[v[i]].size()&&!flag; j++)
if (a[m[v[i]][j]] == 1) flag = 1;
printf("%s\n",flag ? "No" :"Yes");
}
return 0;
}