1142 Maximal Clique
题意:给出一个图,定义这样一个结点子集subset,若subset中的任意两结点不都相邻,则称之为Not a Clique;若subset中的任意两结点都相邻,则称之为Clique;若subset中的结点不仅都相邻,而且不存在subset之外的点与subset中的每个结点都相邻,则称之为Maximal。
思路:首先,判断待查询的结点是否都相邻;其次,判断是不是Maximal。怎么判断呢?遍历所有subset之外的结点(可以用vis[]数组来表示,标记subset[]里的结点为true,这样就只会访问非subset的点了),只要存在这样一个结点v,使得v与subset中的每个结点都相邻,则说明subset不是Maximal。
代码:
#include <cstdio>
#include <cstring>
;
};
int subset[maxn];//存放每次检查的结点
int vis[maxn];//标记在集合中出现过的结点
int n,m;
int main()
{
scanf("%d%d",&n,&m);
int u,v;
while(m--){
scanf("%d%d",&u,&v);
graph[u][v]=graph[v][u]=;
}
int query,k;
scanf("%d",&query);
while(query--){
scanf("%d",&k);
memset(vis,,sizeof(vis));//每次查询前记得初始化
;i<k;i++){
scanf("%d",&subset[i]);
vis[subset[i]]=;
}
;//1->Yes; 0->Not Maximal; -1->Not a Clique
//1.检验是不是Clique
;i<k;i++){
) break;
;j<k;j++){
) {
flag=-;
break;
}
}
}
){
printf("Not a Clique\n");
continue;
}
//2.检验是不是Maximal
;v<=n;v++){
if(vis[v]) continue;
vis[v]=;
;
for(;i<k;i++)
) break;
if(i==k){
flag=;//但凡存在一个不是subset中的结点使得该结点与subset中的每个结点都相连,说明它不是Maximal
break;
}
}//for
) printf("Yes\n");
else printf("Not Maximal\n");
}
;
}
1142 Maximal Clique的更多相关文章
- PAT 1142 Maximal Clique[难]
1142 Maximal Clique (25 分) A clique is a subset of vertices of an undirected graph such that every t ...
- [PAT] 1142 Maximal Clique(25 分)
1142 Maximal Clique(25 分) A clique is a subset of vertices of an undirected graph such that every tw ...
- PAT 甲级 1142 Maximal Clique
https://pintia.cn/problem-sets/994805342720868352/problems/994805343979159552 A clique is a subset o ...
- PAT 1142 Maximal Clique
A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...
- 1142. Maximal Clique (25)
A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...
- A1142. Maximal Clique
A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...
- PAT A1142 Maximal Clique (25 分)——图
A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...
- PAT_A1142#Maximal Clique
Source: PAT A1142 Maximal Clique (25 分) Description: A clique is a subset of vertices of an undirect ...
- PTA 1140 1141 1142 1143
1140 Look-and-say Sequence 思路:模拟 #include<bits/stdc++.h> using namespace std; typedef long lon ...
随机推荐
- Java_io__BIO_NIO_AIO
1. http://stevex.blog.51cto.com/4300375/1284437 http://www.cnblogs.com/zhuYears/archive/2012/09/28/2 ...
- NSNumber 与NSValue
NSNumber与NSValue关系与作用 .由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们 ...
- Docker 应用实例
Docker安装Nginx 方法一.通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西. runoob@runoob:~$ mkdir -p ~ ...
- DESUtil 加密算法
import java.security.Key; import java.security.Security; import javax.crypto.Cipher; /** *@Title: DE ...
- HDU 1410 PK武林盟主
Problem Description 枫之羽认为自己很强,想当武林盟主,于是找现任武林盟主氢氧化铜挑战.氢氧化铜欣然接受了挑战,两人约好于下个月的月圆之夜在HDU校园内的三根柱子上进行决战.这场PK ...
- scrapy结构及各部件介绍
1.总览,数据流图: 2.Engine:引擎负责控制系统所有组件之间的数据流,并在发生某些操作时触发事件. 3.Scheduler:调度程序接收来自引擎的请求,并将它们排入队列,并在之后,当Engin ...
- mybatis分页插件使用注意
之前的项目用的数据库是mysql,在pom.xml引入这一个就能分页了. 后来又开了一个项目,使用的是oracle数据库,我写分页的时候发现不能实现,在网上找到资料说是必须要5.0以上的.我就导了这依 ...
- vue如何循环同一个echarts图表
因为我们知道echarts图表需要一个ID节点,所以我们循环echarts同一个图表时要考虑ID节点变化问题.废话不多说,直接上demo效果. 这里有一位分析师在不同的模拟组合,这时需求要在dialo ...
- Linux命令2018-03-01更新
前言:Linux主要应用于服务器端,嵌入式开发和个人pc桌面端 本人wechat:YWNlODAyMzU5MTEzMTQ=. *** GPL GPL是一个开源许可协议,由自由软件基金会创建的.GPL许 ...
- Android 进阶13:几种进程通信方式的对比总结
不花时间打基础,你将会花更多时间解决那些不必要的问题. 读完本文你将了解: RPC 是什么 IDL 是什么 IPC 是什么 Android 几种进程通信方式 如何选择这几种通信方式 Thanks RP ...