题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42

我是参考了红黑联盟的结题报告了的。但是有一个位置,应该是红黑联盟写错了吧,就是那个连通性的定义这里。

欧拉定理:

1、图是连通的,每两个点之间要直接或者间接相连。(这里红黑联盟好像写错了)

2、奇点总和只能是0或2;

这里的dfs写的很巧妙,我就是在这里WA了,dfs(k)时,如果搜到一条边,然而只增加k这个的度,因为之后dfs(i)时,再加上i的度,而且不会访问k这个点。

之后,帆哥教我直接在建图的时候就把每个点的度写好就可以了。方便很多。两份代码都贴上。

#include <stdio.h>
#include <string.h> bool maps[][];
bool vis[];
int degree[]; int n,m; void dfs(int k)
{
vis[k] = true;
for(int i=;i<=n;i++)
{
if(maps[k][i])
{
degree[k]++;
if(!vis[i])
dfs(i);
}
}
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(vis,false,sizeof(vis));
memset(maps,false,sizeof(maps));
memset(degree,,sizeof(degree)); scanf("%d%d",&n,&m); int x,y;
for(int i=;i<m;i++)
{
scanf("%d%d",&x,&y);
maps[x][y] = maps[y][x] = true;
} dfs(); bool flag = true;
for(int i=;i<=n;i++)
{
if(!vis[i])
{
flag = false;
break;
}
}
if(!flag)
printf("No\n");
else
{
int ans = ;
for(int i=;i<=n;i++)
{
if(degree[i]%)
ans ++;
}
if(ans==||ans==)
printf("Yes\n");
else printf("No\n");
}
}
return ;
}
#include <stdio.h>
#include <string.h> bool maps[][];
bool vis[];
int degree[]; int n,m; void dfs(int k)
{
vis[k] = true;
for(int i=;i<=n;i++)
{
if(maps[k][i])
{
if(!vis[i])
dfs(i);
}
}
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(vis,false,sizeof(vis));
memset(maps,false,sizeof(maps));
memset(degree,,sizeof(degree)); scanf("%d%d",&n,&m); int x,y;
for(int i=;i<m;i++)
{
scanf("%d%d",&x,&y);
maps[x][y] = maps[y][x] = true;
degree[x]++;
degree[y]++;
} dfs(); bool flag = true;
for(int i=;i<=n;i++)
{
if(!vis[i])
{
flag = false;
break;
}
}
if(!flag)
printf("No\n");
else
{
int ans = ;
for(int i=;i<=n;i++)
{
if(degree[i]%)
ans ++;
}
if(ans==||ans==)
printf("Yes\n");
else printf("No\n");
}
}
return ;
}

NYOJ(42)欧拉图的更多相关文章

  1. nyoj 42

    #include <iostream> #include <stdio.h> #include <cstring> #include <algorithm&g ...

  2. NYOJ 42 一笔画问题

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  3. nyoj 42 一笔画问题 欧拉路径

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 欧拉回路,欧拉路径水题~ 代码: #include "stdio.h&quo ...

  4. nyoj 42 一笔画 欧拉通路

    http://acm.nyist.net/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 zyc ...

  5. NYOJ 42 一笔画问题 (并查集+欧拉回路 )

    题目链接 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画.   输入 第一行只有一个正整数 ...

  6. HDOJ 1878 欧拉回路 nyoj 42一笔画问题

    #include<cstdio> #include<cstring> ]; int find(int x) { if(visited[x]!=x) return find(vi ...

  7. NYOJ 42 一笔画

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  8. nyoj 42判断欧拉路径模板题

    #include<stdio.h> #include<string.h> #define N 2100 int degree[N]; int pre[N];//很长时间没写欧拉 ...

  9. nyoj-----42一笔画问题

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

随机推荐

  1. bios-----> grub

    系统有两块硬盘, 第一块安装的win7, 第二块安装ubuntu 默认从sda加载grub 如果在bios页面选择从sdb启动,会找不到grub 进入原来的sda系统,  grub-install / ...

  2. sf03_杨辉三角go实现

    package main import "fmt" /* 变量规范 全局变量以v_为前缀 函数形参以p_为前缀 函数内部变量,字母数字下划线等普通组合,其中函数返回值以out_为前 ...

  3. js、jquery的入口函数

    js的入口函数写法: window.onload = function() { }; 如果文件中有多个window.onload入口函数,则只会执行最后一个,之前的入口函数没有用. jquery的入口 ...

  4. python3与python2的区别 记录一波

    1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2 ...

  5. 这是通过 Open Live Writer(是个博客编辑器) 发布的

    Open Live Writer  是开源的win10上的博客编辑器

  6. Maven 错误 Failure to transfer ...was cached in the local repository...

    Maven 错误 Failure to transfer ...was cached in the local repository... 我解决的时候多了两步才解决 1. mvn clean ins ...

  7. vue脚手架 && 实例

    什么是vue脚手架? 即可以快速构建vue项目的工具,通过它,我们可以将vue项目所需要的文件等安装完成. 为什么要是用vue脚手架,优点何在? 因为创建一个vue项目需要很多的依赖,文件的设置等,而 ...

  8. C#Winform中ToolTip的简单用法,

    ToolTip它能够为我们的软件提供非常漂亮的提示信息,提高软件的可用性,给用户比较好的体验. 使用,在窗体加载时加载以下代码: var toolTip1 = new ToolTip(); toolT ...

  9. 排序 & 常用算法

    一.快速排序QuickSort 快速排序和归并排序都使用分治法来设计算法,区别在于归并排序把数组分为两个基本等长的子数组,分别排好序之后还要进行归并(Merge)操作,而快速排序拆分子数组的时候显得更 ...

  10. 将webservice嵌套到以完成的web项目中

    一.先把webservice服务端写入项目(基于spring) 1.在pom.xml中引入WebService相关的jar依赖 <!--webservice开始 --> <!--ht ...