nyoj 42
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <algorithm>
using namespace std; int f[1000];
int digree[1000]; int find(int x)
{
while(x!=f[x])
x=find(f[x]);
return x;
} void bing(int a,int b)
{
if(find(a)!=find(b))
f[find(a)]=find(b);
}
//并查集模板,不解释 int main()
{
int i,p,q;
int n,a,b;
scanf("%d",&n);
while(n--)
{
memset(f,0,sizeof(f));
memset(digree,0,sizeof(digree)); //记得要初始化为0 scanf("%d%d",&p,&q);
for(i=1;i<=p;i++)
f[i]=i; // for(i=1;i<=p;i++) cout<<f[i]<<" "; for(i=1;i<=q;i++)
{
scanf("%d%d",&a,&b);
if(a==b) continue; //解决重复
else
{
digree[a]++;
digree[b]++;
}
bing(a,b);
} int jidian=0,cnt=0; for(i=1;i<=p;i++)
{
if(i==f[i]) cnt++;
if(digree[i]&1) jidian++; //判断基点个数
} if(cnt==1 && ( jidian==0 || jidian==2 ) )
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
// nyoj 42
//这一题主要是使用并查集加欧拉回路的概念,总体的思路是判定一个图是否连通,然后用欧拉定理判断基点个数来判断一个图是否能一笔画成。。。
nyoj 42的更多相关文章
- NYOJ 42 一笔画问题
一笔画问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...
- nyoj 42 一笔画问题 欧拉路径
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 欧拉回路,欧拉路径水题~ 代码: #include "stdio.h&quo ...
- nyoj 42 一笔画 欧拉通路
http://acm.nyist.net/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 zyc ...
- NYOJ(42)欧拉图
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 我是参考了红黑联盟的结题报告了的.但是有一个位置,应该是红黑联盟写错了吧,就是那个连通 ...
- HDOJ 1878 欧拉回路 nyoj 42一笔画问题
#include<cstdio> #include<cstring> ]; int find(int x) { if(visited[x]!=x) return find(vi ...
- NYOJ 42 一笔画问题 (并查集+欧拉回路 )
题目链接 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画. 输入 第一行只有一个正整数 ...
- NYOJ 42 一笔画
一笔画问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...
- nyoj 42判断欧拉路径模板题
#include<stdio.h> #include<string.h> #define N 2100 int degree[N]; int pre[N];//很长时间没写欧拉 ...
- nyoj-----42一笔画问题
一笔画问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...
随机推荐
- uva 10382 - Watering Grass(区域覆盖问题)
Sample Input 8 20 2 5 3 4 1 1 2 7 2 10 2 13 3 16 2 19 4 3 10 1 3 5 9 3 6 1 3 10 1 5 3 1 1 9 1 Sample ...
- elasticsearch常用的插件
deb 安装/usr/share/elasticsearch/ https://github.com/hangxin1940/elasticsearch-cn-out-of-box 包可以参考 ...
- access数据库管理软件收集下载
access百科 Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Mi ...
- MySQL重置root密码的几种方法(windows+Linux)
重置root密码的方法: windows系统下:1.停止mysql服务:2.新建文件init-root.txt,写上如下内容: update mysql.user set password = pas ...
- C++学习笔记--Season 1
#include <iostream> //预处理 注意:iostream不带.h int main() { std::cout << "Aloha World&qu ...
- 关于Java中重载的若干问题
一.问题引入 今天看视频时偶然间看到了,说父类和子类间也可以重载,貌似和以前的观念有些冲突,就验证了下…… 二.问题解决 看如下代码: public class Son extends Father ...
- C#程序设计基础——转义字符
\’ 单引号 \” 双引号 \\ 反斜杠 \0 空字符 \a 感叹号 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平Tab \v 垂直Tab
- 【HDOJ】4278 Faulty Odomete
水题. /* 4278 */ #include <cstdio> #include <cstring> #include <cstdlib> #define MAX ...
- SET NOCOUNT (Transact-SQL)
阻止在结果集中返回显示受 Transact-SQL 语句或存储过程影响的行计数的消息. 语法 SET NOCOUNT { ON | OFF } 注释 当 SET NOCOUNT 为 ON 时,不返回 ...
- Number of Islands——LeetCode
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...