1142 Maximal Clique (25 分)难度: 一般 / 知识点: 模拟
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1142 Maximal Clique (25 分)难度: 一般 / 知识点: 模拟相关的知识,希望对你有一定的参考价值。
https://pintia.cn/problem-sets/994805342720868352/problems/994805343979159552
数据范围很小,直接按照题意模拟即可。
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int g[N][N],n,m;
int solve(vector<int> ve)
unordered_map<int,int>hush;
for(int i=0;i<ve.size();i++)
hush[ve[i]]++;
for(int j=i+1;j<ve.size();j++)
if(i!=j&&!g[ve[i]][ve[j]]) return 0;//存在任意俩点之间没有边
for(int i=1;i<=n;i++)
if(!hush[i])
bool flag=1;
for(int j=0;j<ve.size();j++)
if(!g[i][ve[j]]) flag=0;
if(flag) return 2;//存在某个点和所有点都有边
return 1;
int main(void)
cin>>n>>m;
while(m--)
int a,b; cin>>a>>b;
g[a][b]=g[b][a]=1;
int t; cin>>t;
while(t--)
int k,x; cin>>k;
vector<int>ve;
for(int i=0;i<k;i++)
cin>>x,ve.push_back(x);
int ans=solve(ve);
if(ans==0) puts("Not a Clique");
else if(ans==1) puts("Yes");
else puts("Not Maximal");
return 0;
以上是关于1142 Maximal Clique (25 分)难度: 一般 / 知识点: 模拟的主要内容,如果未能解决你的问题,请参考以下文章