#include<vector>
#include<iostream>
#include<map>
using namespace std;
#define MAXN 210
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("in.txt","r",stdin);
#endif
int nv,ne;
cin>>nv>>ne;
int hash[MAXN][MAXN]={};
for(int i=0;i<ne;i++){
int a,b;
cin>>a>>b;
hash[a][b]=1;
hash[b][a]=1;
}
int q;
cin>>q;
for(int i=0;i<q;i++){
int temp,temp1;
cin>>temp;
vector<int> t;
map<int,int> mp;
for(int j=0;j<temp;j++){
cin>>temp1;
t.push_back(temp1);
mp[temp1]=1;
}
int flag=1;
for(int k=0;k<temp;k++){
for(int p=k+1;p<temp;p++){
if(hash[t[k]][t[p]]==0){
flag=0;
break;
}
}
if(flag==0) break;
}
int sign=1;
if(flag==1){
vector<int> s;
for(int tt=1;tt<=nv;tt++){
if(mp[tt]==0){
s.push_back(tt);
}
}
for(int j=0;j<s.size();j++){
for(int k=0;k<t.size();k++){
if(hash[s[j]][t[k]]!=1){
break;
}
if(k==t.size()-1)
sign=0;
}
if(sign==0){
cout<<"Not Maximal"<<endl;
break;
}
}
if(sign==1){
cout<<"Yes"<<endl;
}
}else if(flag==0) cout<<"Not a Clique"<<endl;
}
return 0;
}
1142 Maximal Clique
猜你喜欢
转载自blog.csdn.net/csg3140100993/article/details/81359710
今日推荐
周排行