1134 Vertex Cover

#include <iostream>
#include <vector>
using namespace std;
int main(){
	int n, m, a, b, q, k, c;
	cin >> n >> m;
	vector<int> v[n];
	for(int i = 0; i < m; i++){
		cin >> a >> b;
		v[a].push_back(i); v[b].push_back(i);
	} 
	cin >> q;
	for(int i = 0; i < q; i++){
		cin >> k;
		bool vis[m] = {false}; int flag = 1;
		for(int j = 0; j < k; j++){
			cin >> c;
			for(int z = 0; z < v[c].size(); z++){
				vis[v[c][z]] = true;
			}
		}
		for(int j = 0; j < m; j++){
			if(vis[j] == false) flag = 0;
		}
		printf("%s\n", flag?"Yes" : "No");
	}
	return 0;
}

发布了163 篇原创文章 · 获赞 0 · 访问量 1614

猜你喜欢

转载自blog.csdn.net/weixin_35737222/article/details/104072083