1090 危险品装箱 (25 分)

我不是女神ヾ 2022-04-17 00:53 214阅读 0赞

集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。

本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。

输入格式:

输入第一行给出两个正整数:N (≤104) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。

随后数据分两大块给出。第一块有 N 行,每行给出一对不相容的物品。第二块有 M 行,每行给出一箱货物的清单,格式如下:

K G[1] G[2] … G[K]

其中 K (≤1000) 是物品件数,G[i] 是物品的编号。简单起见,每件物品用一个 5 位数的编号代表。两个数字之间用空格分隔。

输出格式:

对每箱货物清单,判断是否可以安全运输。如果没有不相容物品,则在一行中输出 Yes,否则输出 No。

输入样例:

  1. 6 3
  2. 20001 20002
  3. 20003 20004
  4. 20005 20006
  5. 20003 20001
  6. 20005 20004
  7. 20004 20006
  8. 4 00001 20004 00002 20003
  9. 5 98823 20002 20003 20006 10010
  10. 3 12345 67890 23333

输出样例:

  1. No
  2. Yes
  3. Yes

一开始是用vector作为临时容器遍历判断的,结果会超时,于是用了set

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. map<int,vector<int> >mp;
  6. int n,m,p;
  7. cin>>n>>m;
  8. for(int i=0;i<n;i++){
  9. int t1,t2;
  10. cin>>t1>>t2;
  11. mp[t1].push_back(t2);
  12. mp[t2].push_back(t1);
  13. }
  14. for(int i=0;i<m;i++){
  15. cin>>p;
  16. set<int> s;
  17. for(int j=0;j<p;j++){
  18. int t;
  19. cin>>t;
  20. s.insert(t);
  21. }
  22. int f=0;
  23. set<int>::iterator it;
  24. for(it=s.begin();it!=s.end();it++){
  25. for(int k=0;k<mp[*it].size();k++){
  26. if(s.find(mp[*it][k])!=s.end()){
  27. f=1;
  28. break;
  29. }
  30. }
  31. }
  32. if(f==0)cout<<"Yes"<<endl;
  33. else cout<<"No"<<endl;
  34. }
  35. }

发表评论

表情:
评论列表 (有 0 条评论,214人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PAT~乙级~1090 危险品装箱 ~python

    题目描述: 集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。 本题给定一张不相容物品的清单,需要

    相关 1090 危险品装箱(JAVA)

    集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。 本题给定一张不相容物品的清单,需要你检查每一张集

    相关 7-25 朋友圈 (25

    某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可

    相关 1090 危险品装箱25

    集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。 本题给定一张不相容物品的清单,需要你检查每一张集

    相关 1090 危险品装箱(25)解析

    1090 危险品装箱 (25 分) 集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。 本题给