文章目录

  • 题目分析
  • 题目链接

题目分析


分析
哈密顿回路:从1个点出发,经过所有点一次,然后回到起点。

四个特点: 1)回路必须包含n+1个点;2)回路是个环,第一点和最后一个点相等;3)回路中相邻两个点之间都有边;4)原来的每个点都走到。

ac代码

#include<bits/stdc++.h>
using namespace std;
const int N = 210;int n, m;
bool g[N][N],st[N];
int nodes[N*2];//判断是否是哈密顿回路
bool check(int cnt){if(nodes[0] != nodes[cnt-1] || cnt != n+1) return false;memset(st, 0 ,sizeof st);for(int i = 0; i< cnt -1; i++){st[nodes[i]]  =true;if(!g[nodes[i]][nodes[i+1]]) //相邻两个点必须有边return false;}for(int i=1 ;i<=n; i++) //每个点都走到if(!st[i]) return false;return true;
}int main(){cin >> n >> m;while(m--){int a, b;cin >> a >> b;g[a][b] = g[b][a] =true;}int k ;cin >> k;while(k--){int cnt;cin >> cnt;for(int i=0 ;i< cnt; i++)  cin>> nodes[i]; //读入回路的点if(check(cnt)) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
}

题目链接

PAT甲级1122 Hamiltonian Cycle
https://www.acwing.com/problem/content/1617/

PAT甲级1122 Hamiltonian Cycle:[C++题解] 图论、模拟相关推荐

  1. PAT甲级题目翻译+答案 AcWing(图论)

    1003 Emergency (25 分) 题意 :求无向图中最短路的数量,以及在最短路情况下,点权之和最大是多少 思路 :dijkstra的扩展一般在第三步"用t更新其它点":s ...

  2. PAT甲级1029 Median:[C++题解]贪心、二路归并

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 如果直接排序,时间复杂度是O(nlogn),n=2∗105O(nlogn),\ n=2*10^5O(nlogn), n=2∗105会 ...

  3. PAT甲级1070 Mooncake:[C++题解]贪心

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 对单件从高到低排序. 需要注意的是总需要量d设成double,不要设成int. ac代码 #include<bits/stdc ...

  4. PAT甲级1008 Elevator:[C++题解]模拟

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:统计上升次数.下降次数:停留次数就是n.然后算数即可. ac代码 #include<bits/stdc++.h> usin ...

  5. PAT甲级1077 Kuchiguse:[C++题解]字符串、最长公共后缀

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 读入n个字符串s[n],以s[0]为基础找公共后缀.枚举后缀的长度,内层循环遍历其他字符串,判断是否后缀相等. 使用子串的函数sub ...

  6. PAT甲级1078 Hashing:[C++题解]哈希表、哈希表开放寻址法、二次探测法

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 本题建立hash表是利用只具有正增量的二次探测法来解决冲突, 索引 = 数 % 哈希表的大小 如果映射到同一个索引idx,hash表 ...

  7. PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数

    文章目录 题目分析 题目链接 题目分析 分析:求单源最短路,使用dijkstra()算法. 最短路的条数,和最短路中 人数最多的一条,输出最多人数. 本题点比较少,使用邻接矩阵d[N][N]来存. a ...

  8. PAT甲级1032 Sharing :[C++题解]链表

    文章目录 题目分析 题目链接 题目分析 思路:建立链表,这里使用数组.e [ ] 表示当前的数值,ne[ ]表示next指针. 求单词的公共后缀,就是求两个链表从头结点开始第一个公共的结点. 先遍历第 ...

  9. PAT甲级1010 Radix :[C++题解]进制位、秦九韶算法、二分(PAT通过率最低的一道题0.11)

    文章目录 题目分析 题目链接 题目分析 分析: 本题思路分两步. 第一步:先把给出数值和进制的数,暂定为N1,转换成10进制,即为target. 第二步: 判断一下N2在多少进制下是等于target的 ...

最新文章

  1. sqlserver清除日志
  2. JAVA中对日期格式的处理
  3. 【机器学习】三层神经网络
  4. 被遗忘和庸俗化的弗洛伊德:纪念弗洛伊德诞辰150周年(全文)
  5. AsyncTask与多任务
  6. linux optimizer,linux命令1—安装optimizer(示例代码)
  7. php中使用httpclient
  8. 电脑显示器不亮主机正常_电脑主机已开机 显示屏却不亮(看完秒懂)
  9. 不写一行代码,基于Jmeter打造性能测试数据平台
  10. 计算机表格怎么加减乘除,如何在Word表格中进行加减乘除
  11. mongo按季度统计_2020年第一季度电网工程设备材料信息价(完整版)
  12. 卓有成效的管理者——彼得·德鲁克
  13. ET Reporter
  14. [数字疾控]-从业人员健康体检管理系统
  15. Matlab coder生成C++代码
  16. 16.Linux环境搭建虚拟网络
  17. python之selenium爬取数据(爬取airbnb房源信息)
  18. 家用计算机的运行速度,家里电脑又卡又慢!如何提高电脑运行速度?
  19. RTX3090 GPU环境配置
  20. Java如何找出数组中前k个高频元素

热门文章

  1. 模拟操作系统动态内存管理(c实现)
  2. django-admin.py 不是内部或外部命令
  3. 如何用CMD开启3389与查看3389端口
  4. Server Error in '/' Application. 报错
  5. (学)DEV在设计界面部分组件显示红叉并报错的问题
  6. SQL Server R2 地图报表制作(四)
  7. [原]Oracle数据文件损坏的模拟和修复(一) |ORA-01578 data block corrupted|
  8. 列举ospf的5种报文类型_9种语言的应用场景,程序员的候选清单,你最看好哪一门语言...
  9. 以太网与802.3,wifi与802.11的关系
  10. elasticsearch 6.6 安装(CentOS 7.5) 修订