PAT 1090.危险品装箱(25)

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

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

输入格式:
输入第一行给出两个正整数:N (≤10^4) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。
随后数据分两大块给出。第一块有 N 行,每行给出一对不相容的物品。第二块有 M 行,每行给出一箱货物的清单,格式如下:

K G[1] G[2] ... G[K]

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

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

输入样例:

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

题目分析:此题与乙级1065(单身狗)如出一辙,解题思想完全一致,甚至还要更简单,只是换了一个题目背景而已。1065传送门。

AC代码:

#include <iostream>
#include <map>
using namespace std;map<int, int> mp;
const int max_n = 100100;
bool is_appear[max_n] = {false};int main(){int n, m, a, b;scanf("%d%d", &n, &m);for(int i=0; i<n; ++i){scanf("%d%d", &a,&b);mp.insert(make_pair(a,b));}for(int i=0; i<m; ++i){fill(is_appear, is_appear+max_n, false);int num,tmp;scanf("%d", &num);for(int j=0; j<num; ++j){scanf("%d", &tmp);is_appear[tmp] = true;}bool flag = false;for(auto it=mp.begin(); it!=mp.end(); ++it){if(is_appear[it->first] && is_appear[it->second]){flag = true;}}if(flag)printf("No\n");elseprintf("Yes\n");}return 0;
}

PAT(乙级)1090.危险品装箱(25)相关推荐

  1. C++学习之路 | PTA乙级——1090 危险品装箱 (25 分)(精简)

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

  2. 【简便解法】1090 危险品装箱 (25分)_33行代码AC

    立志用最少的代码做最高效的表达 PAT乙级最优题解-->传送门 集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里.比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸. 本题 ...

  3. 【PAT乙级】1090 危险品装箱 (25 分)

    题目地址 #include<cstdio> #include<iostream> #include<algorithm> #include<map> # ...

  4. 1090 危险品装箱 (25分)

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

  5. 1090 危险品装箱 (25 分) mapp

    同一物品多对不相容,数组a直接寻找这批货物中是否有任一k物品的全部不相容物品j++(逐个检查),a[k][j]==1?以空间换时间,也可以用hash表 #include <iostream> ...

  6. PAT乙级 1110 区块反转 (25 分) C++

    1110 区块反转 (25 分) 给定一个单链表 L,我们将每 K 个结点看成一个区块(链表最后若不足 K 个结点,也看成一个区块),请编写程序将 L 中所有区块的链接反转.例如:给定 L 为 1→2 ...

  7. PAT 1090 危险品装箱(25 分)- 乙级

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

  8. 1090 危险品装箱 (25 分)

    解题思路: 首先我想到的是用一个足够大的动态二维数组来记录不相容的物品,行号代表该物品的编号,该列中存储与该物品不相容的其它物品 然后定义一个足够大的数组dir[100000],数组下标表示该物品的编 ...

  9. PAT乙级1030 完美数列 (25 分)

    1030 完美数列 (25 分) 给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可 ...

最新文章

  1. elastic的gc相关
  2. Leaflet获取可视范围内4个顶点
  3. pythonbreak语句教程_Python break语句详解
  4. 【Java代码】实现字符串转数据库的 inStr【使用 JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现】
  5. 虚拟机删除后服务器内存,卸载虚拟机后仍占内存
  6. Mysql索引机制B+Tree
  7. 【转】 C++中的new VS C语言中的malloc
  8. 数据库开发这点事 中文PDF下载
  9. ffmpeg 踩坑总结 —— 视频转码 转H264格式
  10. 八卦罗盘动态时钟(C语言)
  11. Linux入门三:安装CentOS 7(桌面版);
  12. 各个版本chrome允许加载使用flash的方法
  13. HttpClient示例01
  14. scratch躲避球
  15. java 取上界_Java中的上界通配符 - java
  16. 如何对APP进行重新签名(使用命令签名)
  17. Vue项目中出现Loading chunk {n} failed问题的解决方法
  18. 如何从多个Excel文件多个Sheet中搜索某一内容,多个excel文件批量查找的绿色工具
  19. mybatis和spring框架的整合
  20. Android开发知识(十三):再次理清Activcity各个生命周期应该做的事情

热门文章

  1. 2021-06-10atcoder解题报告D - Kth Excluded(差分+二分法)
  2. Witt向量简介 §3.2.2:Witt环运算封闭性验证
  3. 通过google地图来查看台湾街景
  4. RUN__IT # 一个简单的爬妹子代码送福利(正则表达式总结)
  5. NWJS(NodeJS)调用打印机 - 打印小票
  6. Gradle构建项目深入浅出
  7. 数字化转型:核心架构、重要价值及实现路径
  8. lint-staged husky
  9. R语言Markowitz马克维茨投资组合理论分析和可视化
  10. 基于51单片机的智能家居安防系统(程序+仿真+PCB)