AcWing 1635. 就是穷举法啊,最艰苦的方法
原题链接
简单
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=202;
int n,m,k;
bool g[N][N];
int te[N];
int num;
int t[N];
string check()
{
for(int i=0;i<num;i++)
for(int j=i+1;j<num;j++)
if(!g[te[i]][te[j]]) return "Not a Clique";
memset(t,0,sizeof t);
for(int i=0;i<num;i++)
for(int j=0;j<n;j++)
if(g[te[i]][j]) t[j]++;
for(int i=0;i<n;i++)
if(t[i]==num) return "Not Maximal";
return "Yes";
}
int main()
{
cin>>n>>m;
for(int i=0;i<m;i++)
{
int a,b;
cin>>a>>b;
g[a][b]=g[b][a]=true;
}
cin>>k;
while(k--)
{
cin>>num;
for(int i=0;i<num;i++)
{
cin>>te[i];
}
cout<< check()<<endl;
}
return 0;
}