#include <iostream>
#include <vector>
#include <unordered_set>
#include <unordered_map>
using namespace std;
vector<vector<int> > G;
unordered_map<int,int> idToPos;
unordered_set<int> ship;
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i = 0;i < n;i++){
int u,v;
scanf("%d%d",&u,&v);
if(idToPos.find(u) == idToPos.end()){
vector<int> temp;
temp.push_back(v);
G.push_back(temp);
idToPos[u] = G.size() - 1;
}else
G[idToPos[u]].push_back(v);
if(idToPos.find(v) == idToPos.end()){
vector<int> temp;
temp.push_back(u);
G.push_back(temp);
idToPos[v] = G.size() - 1;
}else
G[idToPos[v]].push_back(u);
}
for(int i = 0;i < m;i++){
int k;
scanf("%d",&k);
ship.clear();
for(int j = 0;j < k;j++){
int temp;
scanf("%d",&temp);
ship.insert(temp);
}
bool dangerous = false;
unordered_set<int>::iterator it = ship.begin();
while(it != ship.end()){
if(idToPos.find(*it) != idToPos.end()){
int index = idToPos[*it];
for(int j = 0;j < G[index].size();j++){
if(ship.find(G[index][j]) != ship.end()){
dangerous = true;
break;
}
}
}
it++;
}
if(dangerous == true)
printf("No\n");
else
printf("Yes\n");
}
system("pause");
return 0;
}
PAT | A1149 Dangerous Goods Packaging
最新推荐文章于 2024-07-25 14:57:29 发布