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 }


浙公网安备 33010602011771号