PTA甲級考試真題練習149——1149 Dangerous Goods Packaging

題目在這裏插入圖片描述

思路

水題,hash

代碼

#include <iostream>
#include <vector>
using namespace std;
const int nmax = 100010;
vector<int> vec[nmax];
int main()
{
	int n, qn;
	cin >> n >> qn;
	for (int i = 0; i < n; ++i) {
		int u, v;
		cin >> u >> v;
		vec[u].emplace_back(v);
		vec[v].emplace_back(u);
	}
	for (int i = 0; i < qn; ++i) {
		int mark[nmax] = { 0 };
		int num;
		cin >> num;
		bool flag = true;
		for (int j = 0; j < num; ++j) {
			int tmp;
			cin >> tmp;
			if (mark[tmp] == 1) {
				flag = false;
			}
			for (auto& p : vec[tmp])
				mark[p] = 1;
		}
		flag ? cout << "Yes" << endl : cout << "No" << endl;
	}
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章