1090 危险品装箱

 hash就完事了。

新学一招,关于 map<int,vector<int> >的元素的访问。

 1 #include<iostream>
 2 #include<vector> 
 3 #include<unordered_map>
 4 using namespace std;
 5 
 6 int main() {
 7     int n,m,G1,G2;
 8     cin>>n>>m;
 9     unordered_map<int,vector<int> > mp;
10     while(n--) {
11         scanf("%d%d",&G1,&G2);
12         mp[G1].push_back(G2);
13         mp[G2].push_back(G1);
14     }
15     while(m--) {
16         int k,a[100000] = {0},flag = 0;
17         scanf("%d",&k);
18         vector<int> vi(k);
19         for(int i = 0; i < k; ++i) {
20             scanf("%d",&vi[i]);
21             a[vi[i]] = 1;
22         }
23         for(int i = 0; i < vi.size() && flag == 0 ; ++i) {
24             for(int j = 0; j < mp[vi[i]].size() && flag == 0; ++j)//访问map中的vector中的元素 
25                 if(a[mp[vi[i]][j]] == 1) flag = 1;
26         }
27         printf("%s\n",flag == 0?"Yes":"No");
28     }
29     return 0;
30 }

 

posted @ 2020-02-26 17:11  tangq123  阅读(184)  评论(0)    收藏  举报