博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT (Advanced Level) Practice 1149 Dangerous Goods Packaging (25 分)set
阅读量:3903 次
发布时间:2019-05-23

本文共 1966 字,大约阅读时间需要 6 分钟。

1149 Dangerous Goods Packaging (25 分)

When shipping goods with containers, we have to be careful not to pack some incompatible goods into the same container, or we might get ourselves in serious trouble. For example, oxidizing agent (氧化剂) must not be packed with flammable liquid (易燃液体), or it can cause explosion.

Now you are given a long list of incompatible goods, and several lists of goods to be shipped. You are supposed to tell if all the goods in a list can be packed into the same container.

Input Specification:

Each input file contains one test case. For each case, the first line gives two positive integers: N (≤10​4​​), the number of pairs of incompatible goods, and M (≤100), the number of lists of goods to be shipped.

Then two blocks follow. The first block contains N pairs of incompatible goods, each pair occupies a line; and the second one contains M lists of goods to be shipped, each list occupies a line in the following format:

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

where K (≤1,000) is the number of goods and G[i]'s are the IDs of the goods. To make it simple, each good is represented by a 5-digit ID number. All the numbers in a line are separated by spaces.

Output Specification:

For each shipping list, print in a line Yes if there are no incompatible goods in the list, or No if not.

Sample Input:

6 320001 2000220003 2000420005 2000620003 2000120005 2000420004 200064 00001 20004 00002 200035 98823 20002 20003 20006 100103 12345 67890 23333

Sample Output:

NoYesYes

代码如下:

#include 
#include
#include
#include
#include
#include
using namespace std;const int maxn=100005;int n,m,q,flag;vector
ve[maxn];set
Set;void init(){ Set.clear(); flag=1;}int main(){ scanf("%d%d",&n,&m); while (n--) { int x,y; scanf("%d%d",&x,&y); ve[x].push_back(y); ve[y].push_back(x); } while (m--) { init(); scanf("%d",&q); while (q--) { int x; scanf("%d",&x); if(Set.find(x)!=Set.end()) flag=0; else { for (int i=0;i

 

转载地址:http://zxaen.baihongyu.com/

你可能感兴趣的文章
5. 最长回文子串
查看>>
4. 两个排序数组的中位数
查看>>
10. 正则表达式匹配
查看>>
23. 合并K个元素的有序链表
查看>>
32. 最长有效括号
查看>>
6. Z字形转换
查看>>
8. 字符串转整数(atoi)
查看>>
12. 整数转罗马数字
查看>>
15. 三数之和
查看>>
16. 最接近的三数之和
查看>>
18. 四数之和
查看>>
22. 括号生成
查看>>
24. 两两交换链表中的节点
查看>>
71. 简化路径
查看>>
77. 组合
查看>>
78. 子集
查看>>
89. 格雷编码
查看>>
刚开始学python,对脚本语言的一些理解
查看>>
matplotlib进行绘图——散点图
查看>>
matplotlib进行绘图——直方图
查看>>