PTA一笔画

作者 张志梅

单位 青岛大学

小丁最近迷恋上一个游戏,传说中的“一笔画”游戏。

那么什么是一笔画?如下图,顾名思义就是一笔可以完成的图。一笔画最基本的要求是在画图的过程中,笔不能离开纸,且笔所画过的线不能重复,最后画完所有的线便算完成。

1000.jpg

虽然小丁喜欢玩这个游戏,但有时候花费半天也找不到答案。小丁听说写一个计算机程序便能判断是否可以一笔画图,所以他希望善良可爱的你来帮帮他的忙。

快来帮帮弱小,可怜,又无助的小丁。

评测数据加强啦,来验题吧~~

输入格式:

给出图中的节点数N(1<=N<=1000,编号1-N)和边数M;随后M行给出存在边的两个节点的编号。

输出格式:

能够一笔画的图输出Y,否则输出N。

输入样例1:

3 2
1 2
2 3

输出样例1:

Y

输入样例2:

4 3
1 2
1 3
1 4

输出样例2:

N

题目要求:

判定是否能一笔画完所有的路径,而且经过所有的点。

思路:

用并查集判断所有点是否能一笔画到。

记录所有的点经过的次数,只有两种情况才能一笔画完:

1、如果任何点都是偶数且不为0,代表从任何起点都能一笔画完。

2、如果只有有两个奇数,其余都是偶数且不为0,那么一个是起点,一个是终点。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"const ll N = 1e3+7;
ll n,m;
ll v[N],value[N];ll find(ll x){return v[x] == x ? x : v[x] = find(v[x]);
}void bing(ll x,ll y){ll tx=find(x),ty=find(y);if(tx > ty)swap(tx,ty);v[ty]=tx;
}void solve(){cin >> n >> m;memset(value,0,sizeof value);for(ll i = 1 ; i <= n ; i ++)v[i]=i;while(m --){ll x,y;cin >> x >> y;if(find(x) != find(y))bing(x,y);value[x]++;value[y]++;}ll cnt=0,sum=0;for(ll i = 1 ; i <= n ; i ++){v[i]=find(v[i]);if(v[i] == i)cnt++;if(value[i]&1)sum++;}if(cnt == 1 && (sum == 2 || sum == 0))cout << "Y" << endl;else cout << "N" << endl;return;
}int main(){ll t=1;//cin >> t;while(t--)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot和Spring Cloud版本对应

Spring在不断地升级&#xff0c;各个版本存在一些不兼容的地方&#xff0c;为了避免出现问题&#xff0c;最好注意使用正确的版本。 官网的对应关系&#xff1a;https://start.spring.io/actuator/info 如下图&#xff1a; 下面附一下创建项目的工具&#xff1a; Spring官方…

代码随想录算法训练营第53天 | 1143.最长公共子序列 ,1035.不相交的线 ,53. 最大子序和

动态规划章节理论基础&#xff1a; https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 1143.最长公共子序列 题目链接&#xff1a;https://leetcode.cn/problems/longest-common-subsequence/description/ 思路&…

13|连接数据库:通过链和代理查询鲜花信息

新的数据库查询范式 提出问题&#xff1a;用户用自然语言提出一个问题&#xff0c;例如“去年的总销售额是多少&#xff1f;”。LLM 理解并转译&#xff1a;LLM 首先会解析这个问题&#xff0c;理解其背后的意图和所需的信息。接着&#xff0c;模型会根据解析的内容&#xff0c…

2024年零基础转行软件测试真的可以吗?“我“该如何做?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 零基础的学生&…

博图西门子HMI下载报错—缺少面板映像,下载失败解决办法

一、报错展示 二、解决过程 1、第一种&#xff1a; 在安装博图(V17)时&#xff0c;需要下载各类软件&#xff0c;这时钩选全部能够选择的软件。然后进行下载。但是在这里我遇到了下载软件时&#xff0c;无法选择红框中的文件。那么就需要单独去西门子官网下载。 2、第二种&am…

MQ之Spring AMQP学习

Spring AMQP学习 Spring AMQP AMQP是Advanced Message Queuing Protocol的缩写。AMQP是用于在应用程序之间传递消息的开放标准&#xff0c;该协议与语言和平台无关&#xff0c;更符合微服务中独立性的要求。 Spring AMQP是基于AMQP协议定义的一套API规范&#xff0c;提供了模…

微信小程序接口请求出错:request:fail url not in domain list:xxxxx

一、微信小程序后台和开发者工具配的不一样导致了这个错误 先说结论&#xff1a; 开发者工具配置了https://www.xxx.cn/prod-api/ 微信后台配置了 https://www.xxx.cn 一、最开始 开发者工具配置了https://www.xxx.cn:7500 微信后台配置了 https://www.xxx.cn 报错:reques…

关系数据库:关系数据结构基础与概念解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

外包2月,技术倒退警钟长鸣。。。。。

曾经的我&#xff0c;作为一名大专生&#xff0c;在湖南某软件公司从事功能测试工作近四年。日复一日的工作让我陷入舒适区&#xff0c;不思进取。直到今年8月&#xff0c;我才意识到自己的技术停滞不前&#xff0c;女友的离开更是让我痛定思痛&#xff0c;决定改变现状&#x…

极速下载,轻松管理—互联网下载管理器(IDM)全面评测 万物皆可下的Internet Download Manager

在当今信息爆炸的时代&#xff0c;我们每天都在从互联网上下载各种资源&#xff0c;如文档、音乐、视频等。而一个高效、实用的下载工具对于提高我们的工作效率和生活品质至关重要。今天&#xff0c;我将为大家详细介绍一款备受好评的下载神器 — 互联网下载管理器&#xff08;…

详细教---用Django封装写好的模型

本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步&#xff1a;代码准备 热搜词条搜集代码&#xff1a; import requests from lxml import etreeurl "https://tophub.today/n/KqndgxeLl9" headers{User-Agent: Mozilla/5.…

HarmonyOS NEXT应用开发之搜索页一镜到底案例

介绍 本示例介绍使用bindContentCover、transition、animateTo实现一镜到底转场动画&#xff0c;常用于首页搜索框点击进入搜索页场景。 效果图预览 使用说明 点击首页搜索框跳转到搜索页面显式一镜到底转场动画 实现思路 通过点击首页搜索框改变bindContentCover全屏模态…

企业专业化管理金字塔:技能进阶与案例分析

在纷繁复杂的企业管理领域中&#xff0c;一套行之有效的管理技能体系对于企业的稳健发展至关重要。本文将深入探讨企业专业化管理金字塔的五个层次&#xff1a;基本的管理技能、业务操作管理技能、组织管理技能、组织开发技能以及管理转变技能&#xff0c;并结合实际案例&#…

Linux 文件系统:C语言接口、系统接口

目录 一、文件接口 二、感性理解Linux系统下“一切皆文件” 三、C语言文件接口 1、fopen 2、当前路径 3、fwrite、fprintf、fputs 4、fgets 模拟实现cat命令 5、fscanf 五、系统接口 1、open系统调用 2、write系统调用 例&#xff1a;O_WRONLY 例&#xff1a;O_WR…

类和对象-2

文章目录 默认成员函数构造函数默认构造函数析构函数不同生命周期的构造、析构函数的执行顺序 默认成员函数 在c中&#xff0c;每个类里面都有六个默认成员函数。即便这个类什么都没有&#xff0c;也就是空类&#xff0c;也会有这六个成员函数。这些函数的存在极大的简化了代码…

洛谷_P5143 攀爬者_python写法

P5143 攀爬者 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 知识点&#xff1a; Python lambda&#xff08;匿名函数&#xff09; | 菜鸟教程 (runoob.com) import mathn int(input()) data [] for i in range(n):l list(map(int,input().split()))data.append(l)data.so…

网络简略总结

目录 一、三次握手 四次挥手 1、三次握手:为了建立长链接进行交互即建立一个会话,使用http/https协议 2、四次挥手是一个断开连接释放服务器资源的过程 3、如果已经建立了连接,但是客户端突然出现故障了怎么办? 4、谁可以中断连接?客户端还是服务端还是都可以? 5、…

投资者必读:如何利用龙虎榜数据捕捉市场热点

1.什么是龙虎榜 股票龙虎榜是指每个交易日证券交易所公布的关于股市交易活动的排行榜。龙虎榜主要展示了当日买卖最活跃的股票、买卖双方的机构或个人&#xff0c;以及他们的买卖金额和数量。这些数据可以帮助投资者了解市场的热点股票、资金流向和市场情绪。 通常&#xff0c…

《量子十年》报告更新!IBM精研量子计算,助力行业优化转型

近日&#xff0c;IBM商业价值研究院&#xff08;IBM Institute for Business Value&#xff0c;简称IBV&#xff09;精心出版了一本引人入胜的报告&#xff0c;《量子十年》第四版。这不仅是一本值得一读的书籍&#xff0c;更是对当前行业发展状况的全面总结和重要补充。 这部由…

Maven项目如何导入依赖包

一、导入依赖包 导入mysql依赖包 第一步&#xff1a;登录Maven官网 Maven官网&#xff1a;https://mvnrepository.com/search?qmysql 第二步&#xff1a;点击MySql Connector Java 第三步&#xff1a;点击任意一个版本 第四步&#xff1a;将以下内容复制到pom.xml中 导入j…