阿里巴巴网站制作,南京汽车 企业 网站建设,网站建设公司在哪里,做影视会员网站1090 危险品装箱 (25 分) 集装箱运输货物时#xff0c;我们必须特别小心#xff0c;不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱#xff0c;否则很容易造成爆炸。 本题给定一张不相容物品的清单#xff0c;需要你检查每一张集装箱货品清单#x…1090 危险品装箱 (25 分) 集装箱运输货物时我们必须特别小心不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱否则很容易造成爆炸。 本题给定一张不相容物品的清单需要你检查每一张集装箱货品清单判断它们是否能装在同一只箱子里。 输入格式 输入第一行给出两个正整数N (≤104) 是成对的不相容物品的对数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 #include iostream
#include vector
#include map
using namespace std;
int main() {int n, k, t1, t2;mapint,vectorint m;scanf(%d%d, n, k);for (int i 0; i n; i) {scanf(%d%d, t1, t2);m[t1].push_back(t2);m[t2].push_back(t1);}while (k--) {int cnt, flag 0, a[100000] {0};scanf(%d, cnt);vectorint v(cnt);for (int i 0; i cnt; i) {scanf(%d, v[i]);a[v[i]] 1;}for (int i 0; i v.size(); i)for (int j 0; j m[v[i]].size(); j)if (a[m[v[i]][j]] 1) flag 1;printf(%s\n,flag ? No :Yes);}return 0;
}