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

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

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

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

输入格式:

给出图中的节点数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

思路:①一笔画只能有一个连通分量 ②奇数只有0个或2个 同时满足这俩个条件即为一笔画

注:奇数为含有奇数边的顶点

代码如下:

#include<bits/stdc++.h>
using namespace std;
int p[10000];
int find(int x)//并查集 不会百度或者下方评论我 我会详解
{if(p[x]!=x)p[x]=find(p[x]);return p[x];
}
int main()
{int n,m,x,y,sum=0,cnt=0;cin>>n>>m;int a[1000]={0};for(int i=1;i<=n;i++)p[i]=i;while(m--){cin>>x>>y;p[find(y)]=find(x);//并查集判断连通分量是不是只有一个a[x]++;a[y]++;       //判断奇数(边数为奇数)有几个,因为是无向图}for(int i=1;i<=n;i++){if(p[i]==i)sum++;if(a[i]%2!=0)cnt++;}if(sum==1) if(cnt==0||cnt==2)cout<<"Y";else cout<<"N";elsecout<<"N";//如有不理解下方评论return 0;
}

7-11并查集 一笔画 数据结构 PTA相关推荐

  1. ~~并查集模板(数据结构)(附题目AcWing 836. 合并集合)

    (1)朴素并查集: int p[N]; //存储每个点的祖宗节点// 返回x的祖宗节点int find(int x){if (p[x] != x) p[x] = find(p[x]);return p ...

  2. 算法与数据结构——并查集

    文章推荐:[算法与数据结构]-- 并查集 例子: 数据结构--最小生成树之克鲁斯卡尔算法(Kruskal) 1.2 并查集思想(重点) 我们可以把每个连通分量看成一个集合,该集合包含了连通分量的所有点 ...

  3. 数据结构 之 并查集(Disjoint Set)

    一.并查集的概念:     首先,为了引出并查集,先介绍几个概念:     1.等价关系(Equivalent Relation)     自反性.对称性.传递性.     假设a和b存在等价关系.记 ...

  4. 关于 并查集(union find) 算法基本原理 以及 其 在分布式图场景的应用

    二月的最后一篇水文-想写一些有意思的东西. 文章目录 环检测在图数据结构中的应用 深度/广度优先 检测环 并查集数据结构 (Union-Find) 基本概念 初始化 合并 union 查找祖先 优化1 ...

  5. canvas并查集画随机迷宫

    之前学习不想交集合(并查集)的数据结构,看了很多大老用窗体画出随机迷宫,感觉挺震撼的,下心学习了一下. 这个过程想着不太复杂,就是做起来挺麻烦,需要自己一点点处理.大概步骤如下 1:定义好不想交集合的 ...

  6. LeetCode 1697. 检查边长度限制的路径是否存在(排序+并查集)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个 n 个点组成的无向图边集 edgeList ,其中 edgeList[i] = [ui, vi, disi] 表示点 ui 和点 vi 之间有一 ...

  7. LeetCode 1319. 连通网络的操作次数(BFS/DFS/并查集)

    文章目录 1. 题目 2. 解题 2.1 BFS 2.2 DFS 2.3 并查集 1. 题目 用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1. 线缆用 connection ...

  8. Leetcode——唯唯诺诺对并查集的初次相见

    基本概念 并查集是一种数据结构 并查集这三个字,一个字代表一个意思. 并(Union),代表合并 查(Find),代表查找 集(Set),代表这是一个以字典为基础的数据结构,它的基本功能是合并集合中的 ...

  9. [重修数据结构0x03]并查集、堆、优先队列(2021.8.11)

    前言 在做遍历的题目的时候,发现掌握一些特殊的数据结构和技巧有时对解决题目有着决定性的作用,不可不学.因此特地拿出来两天学习一下并查集.堆.优先队列.以后有更多思考和感悟再加补充吧.内容来自算法笔记, ...

最新文章

  1. 软件架构设计——解释器模式
  2. jMeter Thread group 对应的 constant timer
  3. K8s稳居容器榜首,Docker冲顶技术热词,微服务应用热度不减,2021云原生开发者现状
  4. 用户界面草图设计工具-工具包和资源
  5. HttpHandler和ashx使用Session 出现未初始化异常
  6. Cache之组相连映射
  7. 报错Could not resolve resource location pattern [classpath:com/yh/mapping/*.xml]
  8. ICEM 二维块的拉伸
  9. 动态IP和静态IP区别,别傻傻分不清楚!
  10. TP6手册理解之架构·服务
  11. 后羿采集器怎么导出数据_怎么安装后羿采集器?后羿网页数据采集器安装教程...
  12. 蓝牙进阶之路 (003) - AT指令(转)
  13. python读取excel汉字转成拼音_python 批量将中文名转换为拼音
  14. 在自己电脑上建立SVN服务器
  15. 生物信息学: 使用python包GOATOOLS查询GO
  16. maven查看jar包对应的依赖
  17. 【重要】黑苹果安装之 BIOS 设置篇
  18. 在醒目的底子上踏实肯干
  19. 读书笔记-《wxPython in Action》一
  20. STM32通过I2C接口采集温湿度

热门文章

  1. 武大与中大计算机学院,武汉大学与中山大学大实力大PK,结果令人难以置信
  2. SEM优化教程—SEM优化中常见专业术语
  3. 惠普打印机无法联网;惠普打印机 HP web 服务打不开;惠普打印机连接Internet失败;eprint无法使用
  4. 【转】 制作集成了AHCI驱动的xp sp3系统盘
  5. 【20保研】西安电子科技大学2020年“优研计划”暑期夏令营活动报名通知
  6. 趣头条赚钱是真的吗,趣头条怎么样赚钱快攻略
  7. 智慧指间丨矿山、化工行业职业病危害因素监测,为员工健康再上一道保险
  8. 静态网页 爬虫实战(二)
  9. vue+photoswipe
  10. 2018年第九届蓝桥杯真题解析 | 星期一【Python】