博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1300【判断欧拉回路】
阅读量:4605 次
发布时间:2019-06-09

本文共 1431 字,大约阅读时间需要 4 分钟。

题意: 给你N个房间(图节点)以及房间之间的门(图的边),且给你初始的房间号M,问你从初始房间走,可不可以经过每个门仅1次,最后到达0号房间.且所有的门都被你走过1次?

#include 
#include
#include
#include
#define MAX 505using namespace std;char s[MAX];char num[MAX];int degree[MAX];int main(void) { while (scanf("%s", s) == 1 && s[0] == 'S') { memset(degree, 0, sizeof(degree)); int m, n; scanf("%d%d", &m, &n); getchar(); int cnt = 0; for (int i = 0; i < n; i++) { cin.getline(num, 50); for (int j = 0; j < strlen(num); j++) { if (num[j] != ' ' && num[j] != '\n') { cnt++; int to = num[j] - '0'; degree[i]++; degree[to]++; } } } cin >> s; int ji = 0, ou = 0; for (int i = 0; i < n; i++) { if (degree[i] % 2 == 0) ou++; else ji++; } //所有点的度为偶数且从0出发 || 只有两个奇度点,0为其中一个,且从另外一个出发 if (ou == n) { if (m == 0) printf("YES %d\n", cnt); else printf("NO\n"); } else { if (ji == 2 && degree[0] % 2 != 0 && m != 0) { printf("YES %d\n", cnt); } else printf("NO\n"); } } return 0;}

转载于:https://www.cnblogs.com/tennant/p/8895245.html

你可能感兴趣的文章
【PHP】Windows下配置用mail()发送邮件
查看>>
Nhibernate和EF的区别
查看>>
基于java spring框架开发部标1078视频监控平台精华文章索引
查看>>
人类简史
查看>>
java 设计模式学习
查看>>
【Python使用】使用pip安装卸载Python包(含离线安装Python包)未完成???
查看>>
一语道破项目管理知识体系五大过程组
查看>>
C# 备份、还原、拷贝远程文件夹
查看>>
在windows环境下运行compass文件出现的错误提示解决方案
查看>>
CSS常用样式--font
查看>>
恩如氏--蜗牛精华补水蚕丝面膜
查看>>
大工具-收藏
查看>>
codevs3027 线段覆盖 2
查看>>
markdown
查看>>
【leetcode】107-Binary Tree Level Order Traversal II
查看>>
Jquert data方法获取不到数据,显示为undefined。
查看>>
ssm项目中 数据库和资源的备份
查看>>
hdoj5671 BestCoder Round #81 (div.2)
查看>>
HDU5950【矩阵快速幂】
查看>>
在线C++编译器
查看>>