//
// main.cpp
// PATA1122
//
// Created by Phoenix on 2018/2/24.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
const int maxn = 210;
int G[maxn][maxn] = {0};
int main(int argc, const char * argv[]) {
int n, m;
scanf("%d %d", &n, &m);
for(int i = 0; i < m; i++) {
int a, b;
scanf("%d %d", &a, &b);
G[a][b] = G[b][a] = 1;
}
scanf("%d", &m);
for(int i = 0; i < m; i++) {
int k, a, b, st;
int flag[maxn] = {0};
bool tag = true;
scanf("%d %d", &k, &a);
st = a;
if(k != n + 1) tag = false;
for(int j = 1; j < k; j++) {
scanf("%d", &b);
flag[b] = 1;
if(G[a][b] != 1) tag = false;
a = b;
}
if(st != a) tag = false;
for(int j = 1; j <= n; j++) {
if(flag[j] == 0) tag = false;
//printf("%d ", flag[j]);
}
if(tag == true) printf("YES\n");
else printf("NO\n");
}
return 0;
}
PATA1122题解
最新推荐文章于 2021-07-08 22:12:31 发布