题目描述

震为雷,临危不乱,亨通畅达;巽为风,柔顺伸展,厚载万物。
震卦:洊雷,震,君子以恐惧修省。一口金钟在淤泥,人人拿着当玩石,忽然一日钟悬起,响亮一声天下知。
巽卦:随风,巽,君子以申命行事。一叶孤舟落沙滩,有篙无水进退难,时逢大雨江湖溢,不用费力任往返。

输入描述:

第一行一个数 ,表示有 组数据。对与每组数据,第一行有两个数 ,接下去 行每行两个数 描述一条无向边 。图不保证联通。

输出描述:

对于每组数据,如果存在,输出 ,否则输出 。

输入

2
2 2
1 1
2 1
4 6
1 3
1 4
1 2
3 2
4 2
4 3

输出

Zhen
Xun

思路

首先用并查集判断图连通, 对于所有的点如果自己是自己的祖先的点只有一个的话,那么这个图就是连通图。

欧拉回路的判定是: 如果一个连通图的奇数度的点的个数不超过2个,如果成立就是欧拉回路,否则就不是

代码

#include <cstdio>
#include <cstring>
#include <cctype>
#include <stdlib.h>
#include <string>
#include <map>
#include <iostream>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define inf 0x3f3f3f3f
#define x1 hpc_x1
#define y1 hpc_y1
typedef long long ll;
const double eps=1e-5;
const int N=1e5+10;
int pre[N],deg[N];
int n,m;
void init()
{for(int i=1; i<=n; i++)pre[i]=i;mem(deg,0);
}
int find(int x)
{return x==pre[x]?x:pre[x]=find(pre[x]);
}
void mix(int x,int y)
{int fx=find(x),fy=find(y);if(fx!=fy)pre[fy]=fx;
}
int main()
{int t,u,v;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);init();for(int i=1; i<=m; i++){scanf("%d%d",&u,&v);mix(u,v);deg[u]++,deg[v]++;}int sum=0,res=0;for(int i=1; i<=n; i++){if(i==find(i))sum++;if(deg[i]&1)res++;}if(sum!=1)puts("Xun");else{if(res<=2)puts("Zhen");elseputs("Xun");}}return 0;
}

牛客小白月赛2 D. 虚虚实实(欧拉回路,并查集)相关推荐

  1. 牛客小白月赛25 C 白魔法师 并查集

    链接:https://ac.nowcoder.com/acm/contest/5600/C 来源:牛客网 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 个点,每个点被染成了黑色或白色. 你 ...

  2. 牛客小白月赛25 C-白魔法师 ( 图论 + 并查集 )

    题目链接 解题报告: 思路:如果将一个黑色点染成白色,那么将得到一个白色连通块,这个连通块由和这个黑色点连结的所有白色连通块组成. 如果将一个白色点染成白色,那么不会有任何变化. 所以我们可以先并查集 ...

  3. 牛客小白月赛2 D 虚虚实实 【欧拉图】【连通图】

    链接:https://www.nowcoder.com/acm/contest/86/D 来源:牛客网 题目描述 震为雷,临危不乱,亨通畅达:巽为风,柔顺伸展,厚载万物. 震卦:洊雷,震,君子以恐惧修 ...

  4. 牛客小白月赛16 小石的签到题(博弈)

    牛客小白月赛16 小石的签到题 链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 题目描述 输入描述: 共一行,输入一个数 nnn . 输出描述: ...

  5. F.孤独(牛客小白月赛39)

    F.孤独(牛客小白月赛39) 题意: 给定一棵树,寻找一个路径,将断掉所有与这个路径上的点相连的边,使得剩下的最大连通块的大小最小 题解: 这题有点印象,感觉做过,至少这个方法肯定遇到过 设dp[u] ...

  6. 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)

    牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...

  7. 牛客小白月赛65个人题解A-E

    1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...

  8. 牛客小白月赛24 J.建设道路

    牛客小白月赛24 J.建设道路 题目链接 题目描述 牛牛国有 nnn 个城市,编号为 1-n,第 iii 个城市有一个价值 aia_iai​ ,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游 ...

  9. 牛客小白月赛4 D.郊区春游

    牛客小白月赛4 D.郊区春游 题目链接 题目描述 今天春天铁子的班上组织了一场春游,在铁子的城市里有 nnn 个郊区和 mmm 条无向道路,第 iii 条道路连接郊区 AiA_iAi​ 和 BiB_i ...

最新文章

  1. 北大青鸟口碑好才真的好
  2. android运用 sqlite 实现简单的通讯录_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...
  3. ASP.NET MVC- Upload File的例子
  4. 2017 Android 面试题 [ 基础与细节 ]
  5. 一文读懂HTTP/2 及 HTTP/3特性
  6. vim之好用插件-ctrlp.vim
  7. (码友推荐)2018-07-12 .NET及相关开发资讯速递
  8. 如何将一个数据库中的一个表复制到另一个数据库中去
  9. html文本滚动到底后自动回到顶部,JS 实现DIV 滚动至顶部后固定
  10. CS224n笔记3 高级词向量表示
  11. 新录制了一个Cytoscape整合富集分析和基因表达的网络图绘制
  12. c++餐饮管理系统_扎哈·哈迪德建筑事务所赢得深圳湾超级总部基地C塔项目国际竞赛...
  13. [论文阅读] Looking for the Detail and Context Devils: High-Resolution Salient Object Detection
  14. 新品推荐∣平行光源OPT-PL系列
  15. Android Studio 一个工程打包多个不同包名的APK
  16. 人民的名义关系可视化展示
  17. 京东618大促,全店商品如何导出?
  18. baq在聊天中啥意思_baq(网络用语baq啥意思)
  19. R语言—90分钟从入门到精通
  20. 老板儿子来公司实习,还让我带着他学Python?搞笑

热门文章

  1. 【Ratchet】模态框
  2. AI文稿,机器人革命,人工智能的另一面,人工哲能
  3. easyexcel导出excel自定义合并单元格【动态表头和动态数据均可以自由合并】
  4. 奔驰GLS450升级迈巴赫GLS600外观套件,尽显奢华
  5. MinGW安装与环境变量配置和Sublime Text 3搭建C++编译环境
  6. python使用协程_Python 协程使用心得
  7. dom操作控制video倍速播放
  8. h5 app 获取手机系统版本号、当前app的版本号
  9. 散列表(离散链表法)
  10. imap收件服务器无响应,imap设置收件服务器