PTA 哈密尔回路(建图搜索)
题目
著名的“汉密尔顿(Hamilton)回路问题”是要找一个能遍历图中所有顶点的简单回路(即每个顶点只访问 1 次)。本题就要求你判断任一给定的回路是否汉密尔顿回路。
输入格式:
首先第一行给出两个正整数:无向图中顶点数 N(2<N≤200)和边数 M。随后 M 行,每行给出一条边的两个端点,格式为“顶点1 顶点2”,其中顶点从 1 到N 编号。再下一行给出一个正整数 K,是待检验的回路的条数。随后 K 行,每行给出一条待检回路,格式为:
n V1 V2⋯ Vn
其中 n 是回路中的顶点数,Vi是路径上的顶点编号。
输出格式:
对每条待检回路,如果是汉密尔顿回路,就在一行中输出"YES",否则输出"NO"。
- 输入样例:
6 10
6 2
3 4
1 5
2 5
3 1
4 1
1 6
6 3
1 2
4 5
6
7 5 1 4 3 6 2 5
6 5 1 4 3 6 2
9 6 2 1 6 3 4 5 2 6
4 1 2 5 1
7 6 1 3 4 5 2 6
7 6 1 2 5 4 3 1
- 输出样例:
YES
NO
NO
NO
YES
NO
题解
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;const int N = 210;
int n, m, idx = 0;
int h[N];
int e[N * N];
int ne[N * N];
bool mry[N];void add(int a, int b) {e[idx] = b;ne[idx] = h[a];h[a] = idx++;
}int main() {memset(h, -1, sizeof(h));cin >> n >> m;while (m--) {int x, y;cin >> x >> y;add(x, y);add(y, x);}int k;cin >> k;while (k--) {memset(mry, false, sizeof(mry));int num = 1;int kk, beg, end;cin >> kk ;int p[kk+1];for(int i=1;i<=kk;i++){cin >>p[i];}beg=p[1];end=p[kk];if (kk != n + 1 || beg != end) {cout << "NO" << endl;continue;}mry[beg] = true;int be = beg;for (int i = 2; i <= kk; i++) {int temp=p[i];if (mry[temp] && i != kk) {cout << "NO" << endl;break;}bool f = false;for (int j = h[be]; j != -1; j = ne[j]) {int l = e[j];if (l == temp) {f = true;break;}}if (!f) {cout << "NO" << endl;break;}mry[temp] = true;be = temp;num++;}bool flag2 = false;for (int i = 1; i <= n; i++) {if (!mry[i]) flag2 = true;}if (num == n + 1 && !flag2)cout << "YES" << endl;}return 0;
}
思路
建立静态链表,然后按照题目给的顺序遍历搜索即可。
相关文章:
PTA 哈密尔回路(建图搜索)
题目 著名的“汉密尔顿(Hamilton)回路问题”是要找一个能遍历图中所有顶点的简单回路(即每个顶点只访问 1 次)。本题就要求你判断任一给定的回路是否汉密尔顿回路。 输入格式: 首先第一行给出两个正整数:…...
如何利用产品帮助中心提升用户体验
在当今竞争激烈的市场中,提供优秀的用户体验是吸引和保留客户的关键。而一个高效和易于使用的产品帮助中心,正成为越来越多企业用以提升用户体验的重要工具。产品帮助中心是一个集中的信息库,为用户提供关于产品功能、故障排除、常见问题解答…...
【Python大数据笔记_day05_Hive基础操作】
一.SQL,Hive和MapReduce的关系 用户在hive上编写sql语句,hive把sql语句转化为MapReduce程序去执行 二.Hive架构映射流程 用户接口: 包括CLI、JDBC/ODBC、WebGUI,CLI(command line interface)为shell命令行;Hive中的Thrift服务器允许外部客户端…...
css呼吸效果实现
实现一个图片有规律的大小变化,呈现呼吸效果,怎么用CSS实现这个呼吸效果呢 一.实现 CSS实现动态效果可以使用动画( animation)来属性实现,放大缩小效果可以用transform: scale来实现,在这基础上有了动画,就可以设置一个…...
机器视觉opencv答题卡识别系统 计算机竞赛
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 答题卡识别系统 - opencv python 图像识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分…...
2024年的后端和Web开发趋势
目录 1 2 3 4 5 1 不断变化的数字创新格局可能让人感觉像是一场无情的竞赛。作为开发人员,你的痛苦是真实的——交付尖端产品、保持竞争力、跟上不断变化的用户期望,综合起来你的压力可能是压倒性的。 但是,如果我们告诉你有一个指南针…...
对比了10+网盘资源搜索工具,我最终选择了这款爆赞的阿里云盘、百度网盘、夸克网盘资源一站式搜索工具
盘友圈(https://panyq.com)是一个综合性的网盘搜索站,与其他网盘搜索工具相比,它具有多个独特的优点,使其成为用户们首选的平台。 首先,盘友圈汇集了阿里云盘、百度网盘和夸克网盘等主流网盘资源ÿ…...
GoLong的学习之路(二十)进阶,语法之反射(reflect包)
这个是为了接上之前的语法篇的。按照我的学习计划,这里此时应该有一个小项目来做一个统合。但是吧,突然觉得,似乎也没必要。能学go的大部分肯定都是有其他语言的基础的。 接下来说反射 文章目录 反射介绍reflect包TypeOftype name和type kin…...
关于表单校验,:rules=“loginRules“
在写好validator相关的方法后,rule测试没有生效 <el-form ref"loginForm" :model"loginForm" :rules"loginRules" class"login-form" <el-form-item prop"username"> <el-input ref"usernam…...
统一消息分发中心设计
背景 我们核心业务中订单完成时,需要完成后续的连带业务,扣件库存库存、增加积分、通知商家等。 如下图的架构: 这样设计出来导致我们的核心业务和其他业务耦合,每次新增连带业务或者去掉连带业务都需要修改核心业务。 一方面&…...
前端项目导入vue和element
1.安装nodejs 下载链接https://cdn.npmmirror.com/binaries/node/v18.18.0/node-v18.18.0-x64.msi 进入cmd 命令行模式 管理员身份运行 输入 (node -v)能看到版本号 npm config set prefix "C:\Program Files\nodejs" 默认路径 npm config…...
【11】使用透视投影建立一个3D空间的测试
核心操作: 1.proj view model 这三个矩阵 glm::mat4 mvp m_Proj * m_View * model; m_Shader->Bind(); m_Shader->SetUniformMat4f("u_MVP", mvp);着色器里面就: proj:投影矩阵,可以选择正交投影,或者透视投影…...
【广州华锐互动】VR影视制片虚拟仿真教学系统
随着虚拟现实(VR)技术的不断发展,VR在影视制片教学中的应用场景也变得越来越丰富。本文将介绍VR在影视制片教学中的常见应用场景及其意义,并通过案例分析来更好地展示其应用前景。 在影视制片教学中,VR可以提供一种沉浸式的制作体验。其中&am…...
从研发域到量产域的自动驾驶工具链探索与实践
导读 本文整理自 2023 年 9 月 5 日百度云智大会 - 智能汽车分论坛,百度智能云自动驾驶云研发高级经理徐鹏的主题演讲《从研发域到量产域的自动驾驶工具链探索与实践》。 全文中部段落附有演讲中 2 个产品演示视频的完整版,精彩不容错过。 (视频观看&…...
404. 左叶子之和
原题链接:404. 左叶子之和 思路: 首先要注意是判断左叶子,不是二叉树左侧节点,所以不要上来想着层序遍历。 节点A的左孩子不为空,且左孩子的左右孩子都为空(说明是叶子节点),那么A节…...
基于SSM的课程管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...
【hcie-cloud】【5】华为云Stack规划设计之华为云Stack标准化配置、缩略语【下】
文章目录 前言、华为云Stack交付综述为云Stack标准组网华为云Stack标准化配置华为云Stack配置概览华为云Stack云服务全视图华为云Stack部署方案节点类型说明华为云Stack云服务组件部署场景管理节点部署原则云平台管理规格华为云Stack IaaS场景&高阶场景起步必选部署组件x86…...
搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)
一、EMQX介绍 这篇文章教大家在ECS云服务器上部署EMQX,搭建自己私有的MQTT服务器,配置EMQX实现设备上云,设备数据转发,存储;服务器我采用的华为云的ECS服务器,系统选择Ubuntu系统。 Windows版本的看这里: https://blog.csdn.net/xiaolong1126626497/article/details/1…...
web3案例中解决交易所中 ETH与token都是0问题 并帮助确认展示是否成功
可能写了这么久 很多人会发现一个问 我们前面的案例 个人在交易所中的 自定义token 和 ETH 一直是放了个0 大家也不太敢确认是否真的有效 那么 很简单 我们操作 存入一些进交易所 不就ok了 我们 来看之前交易所写的代码 我们写了 depositEther 存入 ETH 和 depositToken 存入…...
unreal engine oculus 在vr场景中fade in , fade out
https://www.youtube.com/watch?vxRA7hRiXwuA...
AngularJS 控制器
AngularJS 控制器 (Controller) 学习笔记 控制器是 AngularJS 应用的核心组件之一,负责初始化应用状态、定义行为逻辑,并作为视图(HTML)和模型(Scope)之间的桥梁。 一、控制器的基本概念 1. 什么是控制器…...
别再为Aspose水印发愁了!手把手教你用15.8.0旧版jar+license.xml搞定Word转PDF
企业级文档处理实战:Aspose.Words无水印转换方案深度解析 在中小型企业的技术栈中,文档处理往往是最容易被忽视却又频繁引发问题的环节。当市场部门急着要生成上百份客户报告,当财务系统需要自动导出合规的PDF账单,或是当HR系统要…...
【Docker 27边缘容器部署终极指南】:20年运维专家亲授轻量化落地的7大避坑法则
第一章:Docker 27边缘容器轻量化部署全景认知 Docker 27(代号“EdgeLight”)是专为边缘计算场景深度优化的轻量级容器运行时,其核心设计摒弃了传统守护进程模型,转而采用无守护、按需加载的模块化架构。该版本将镜像拉…...
手把手教你玩转English-Corpora.org:从查词频到挖冷门搭配的完整指南
手把手教你玩转English-Corpora.org:从查词频到挖冷门搭配的完整指南 当你在写作中纠结"significant"和"crucial"哪个更学术,或是想找出"break the ice"的地道变体时,英语语料库就是你的秘密武器。不同于传统…...
智读造用|《一人企业》1 :OPC靠这四个特征在大公司的缝隙里活得更好
系列:《一人企业》读书笔记 第1篇 书名:《一人企业:一个人也能赚钱的商业新模式》 作者:保罗贾维斯(Paul Jarvis) 大公司有钱、有人、有品牌,为什么反而在某些市场里追不上OPC公司?…...
从‘毛玻璃’到‘小钢珠’:揭秘PCB铜箔粗糙度建模的认知升级与Huray方程前世今生
从‘毛玻璃’到‘小钢珠’:PCB铜箔粗糙度建模的认知革命 在高速电路设计中,信号完整性的维护犹如在风暴中保持灯塔的稳定发光。当我们把信号传输速度推向GHz级别时,PCB铜箔表面那些肉眼不可见的微观起伏,突然变成了吞噬信号能量的…...
保姆级教程:手把手教你用ROS驱动Ouster OS1激光雷达(含编译避坑指南)
ROS实战:Ouster OS1激光雷达从驱动配置到高级应用全解析 激光雷达作为机器人感知环境的核心传感器,其性能与集成效率直接影响着SLAM、导航等关键系统的表现。Ouster OS1系列凭借出色的性价比和稳定的性能,已成为众多机器人开发团队的首选。本…...
华为手机系统降级实战:为什么以及如何从HarmonyOS 2回退到EMUI 10.1?
华为手机系统降级全解析:从HarmonyOS 2回退EMUI 10.1的技术抉择 当手机系统更新推送通知弹出时,多数用户会毫不犹豫点击"立即安装"。但总有那么一群"逆行者",他们深入研究每个版本的优劣,甚至愿意冒着风险将已…...
PyUSB社区生态:如何参与开源贡献并获得技术支持
PyUSB社区生态:如何参与开源贡献并获得技术支持 【免费下载链接】pyusb Easy USB access for Python 项目地址: https://gitcode.com/gh_mirrors/py/pyusb PyUSB作为一款简化Python USB设备访问的开源库,凭借其跨平台特性和易用性,已成…...
Material Icon Library开源贡献指南:如何参与项目开发和维护
Material Icon Library开源贡献指南:如何参与项目开发和维护 【免费下载链接】material-icon-lib Library containing over 2000 material vector icons that can be easily used as Drawable or as a standalone View. 项目地址: https://gitcode.com/gh_mirrors…...
