PTA乙级题 1090。 危险品装箱 (25 分)

【题目链接】


STL真香,暴力匹配一下就好了,注意可以一对多的情况

#include <iostream>
#include <map>
#include <vector>
#include <set>
using namespace std;
int main()
{
	map<int, vector<int> >mm;
	int a, b, n, m, t;
	scanf("%d%d", &n, &m);
	for (int i = 0; i < n; i++)
	{
		scanf("%d%d", &a, &b);
		mm[a].push_back(b);
		mm[b].push_back(a);
	}
	for (int l = 0; l < m; l++)
	{
		vector<int>v;
		set<int>s;
		int tt;
		scanf("%d", &tt);
		for (int i = 0; i < tt; i++)
		{
			scanf("%d", &t);
			v.push_back(t);
			s.insert(t);
		}
		for (int i = 0; i < tt; i++)
		{
			for (auto it = mm[v[i]].begin(); it != mm[v[i]].end(); it++)
			{
				if (s.find(*it) != s.end())
				{
					printf("No\n");
					goto qwe;
				}
			}
		}
		printf("Yes\n");
	qwe:;
	}
}