标签:1142 Maximal hash 210 25 int scanf noc continue
判断是否图中任意两点两两相连,并判断是否存在图外一点与图中任意一点均存在连线
本题坑点如下
1,注意条件判断,一个一个依次判断;
整体代码如下
#include<bits/stdc++.h>
using namespace std;
set<int>s;
vector<int>temp;
int vis[210];
int G[210][210];
int isc,ismc,noc;
int main(){
int nv,ne,m,k,num;
int v1,v2;
scanf("%d%d",&nv,&ne);
for(int i=0;i<ne;i++){
scanf("%d%d",&v1,&v2);
G[v1][v2]=G[v2][v1]=1;
}
scanf("%d",&m);
for(int i=0;i<m;i++){
temp.clear();
isc=ismc=0;
noc=0;
int hash[210];
fill(hash,hash+210,0);
scanf("%d",&k);
for(int l=0;l<k;l++){
scanf("%d",&num);
temp.push_back(num);
hash[num]=1;
}
for(int l=1;l<=nv;l++){
for(int m=1;m<=nv;m++){
if(hash[l]==1&&hash[m]==1&&m!=l&&G[m][l]!=1){
noc=1;
continue;}
}
if(noc==1)continue;}
if(noc==1){printf("Not a Clique\n");
continue;}
else {int cnt;
for(int l=1;l<=nv;l++){
if(hash[l]==0)
{ cnt=0;
for(int p=0;p<temp.size();p++){
if(G[l][temp[p]]==1)cnt++;
}
if(cnt==temp.size()){isc=1;
continue;}
}
}
if(isc==1){printf("Not Maximal\n");
continue;}
printf("Yes\n");
}
}
}
标签:1142,Maximal,hash,210,25,int,scanf,noc,continue 来源: https://blog.csdn.net/pikachupikapika/article/details/123205197
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。