当前位置:网站首页>PAT1166 Summit(25)
PAT1166 Summit(25)
2022-08-01 12:51:00 【此杭非彼航】
题目
代码
参考代码(含注释)
// 不需要并查
#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> edge(250, vector<int>(250, 0));
int main() {
int n, m;
cin >> n >> m;
for(int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
edge[x][y] = edge[y][x] = 1;
}
int k;
cin >> k;
for(int i = 1; i <= k; i++) {
int l;
cin >> l;
vector<int> v(l);
for(int j = 0; j < l; j++)
cin >> v[j];
bool flag1 = true;
for(int j = 0; j < l; j++) {
for(int k = j + 1; k < l; k++){
//判断是否两两相连
//cout << v[j] << " " << v[k] << " " << edge[v[j]][v[k]] << endl;
if(edge[v[j]][v[k]] == 0) {
flag1 = false;
break;
}
}
if(flag1 == false) break;
}
bool flag2 = false;
int minn = -1;
for(int j = 1; j <= n; j++) {
//从最小的序号开始找
int k;
for(k = 0; k < l; k++) {
if(v[k]==j) break;//结点已经在给定的集合中,退出
if(v[k]!=j && edge[j][v[k]] == 0) break;//结点不在,但和集合中的点不全相连,退出
}
if(k == l) {
//如果上面那个循环顺利结束
flag2 = true;
minn = j;
break;
}
}
if(flag1 == false) printf("Area %d needs help.\n", i);
else if(flag2) printf("Area %d may invite more people, such as %d.\n", i, minn);
else printf("Area %d is OK.\n", i);
}
}
复现代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,k;
cin>>n>>m;
int vis[n+1][n+1];
memset(vis,0,sizeof(vis));
while(m--){
int x,y;
cin>>x>>y;
vis[x][y]=vis[y][x]=1;
}
cin>>k;
for(int t=1;t<=k;t++){
int l,flag1=1,flag2=1;
cin>>l;
int a[l];
for(int i=0;i<l;i++){
cin>>a[i];
}
for(int j=0;j<l;j++){
//判断是否两两相连
for(int k=j+1;k<l;k++){
if(vis[a[j]][a[k]]==0){
flag1=0;
break;
}
}
if(flag1==0) break;
}
if(!flag1){
printf("Area %d needs help.\n",t);
continue;
}
int pos=-1;
for(int i=1;i<=n;i++){
//从序号最小的点开始判断
int j;
for(j=0;j<l;j++){
if(a[j]==i||vis[i][a[j]]==0){
//在集合中或者不相连,退出
break;
}
}
if(j==l){
pos=i;
flag2=0;
break;
}
}
if(flag2==0) printf("Area %d may invite more people, such as %d.\n",t,pos);
else printf("Area %d is OK.\n",t);
}
}
参考文章
边栏推荐
猜你喜欢
Dameng replaces the officially authorized dm.key
那些利用假期学习的职场人,后来都怎么样了?
数据挖掘-04
数字孪生北京故宫,元宇宙推进旅游业进程
Multi-threaded cases - blocking queue
消息中间件解析 | 如何正确理解软件应用系统中关于系统通信的那些事?
Windows 安装PostgreSQL
How does the SAP ABAP OData service support the Create operation trial version
Process sibling data into tree data
NebulaGraph v3.2.0 性能报告
随机推荐
【StoneDB Class】入门第二课:StoneDB 整体架构解析
34、树莓派进行人体姿态检测并进行语音播报
bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
Why does the maximum plus one equal the minimum
通讯录(静态版)(C语言)(VS)
formatdatetime function mysql (date sub function)
Grafana 9.0 released, Prometheus and Loki query builders, new navigation, heatmap panels and more!
嵌入式开发:创建和使用可移植类型的7个技巧
论文笔记All about Eve: Execute-Verify Replication for Multi-Core Servers
How to Integrate Your Service Registry with Istio?
How do we do full-link grayscale on the database?
批量任务导入到数据库中
LeetCode_位运算_简单_405.数字转换为十六进制数
快速理解拉格朗日乘子法
R language ggplot2 visualization: use ggpubr package ggscatter function visualization scatterplot, use xscale wasn't entirely specified X axis measurement adjustment function, set the X coordinate for
如何使用 Authing 单点登录,集成 Discourse 论坛?
AI目标分割能力,无需绿幕即可实现快速视频抠图
MMF的初步介绍:一个规范化的视觉-语言多模态任务框架
Batch replace tables in Word with pictures and save
Windows 安装PostgreSQL