CodeVS2019 骑马修栅栏
来源:互联网 发布:产品外壳设计知乎 编辑:程序博客网 时间:2024/04/24 16:18
link:http://codevs.cn/problem/2039/
题解:
很多人混淆概念,说这道题是欧拉回路
欧拉回路是欧拉路径的一种特殊情形,这道题其实是让你求欧拉路径
算法就不多说了
其中栈的作用可以理解为,如果提早进入了通向结尾的那条路,就用栈先把它存下来,最后再接起来
代码:
#include <cstdio>#include <algorithm>#define maxn 510using namespace std;int map[maxn][maxn], F, S=10000, du[maxn], stack[maxn], top;void input(){int i, a, b;scanf("%d",&F);for(i=1;i<=F;i++)scanf("%d%d",&a,&b),map[a][b]++,map[b][a]++,du[a]++,du[b]++;}void dfs(const int pos){int i;for(i=1;i<=500;i++)if(map[pos][i])map[pos][i]--,map[i][pos]--,dfs(i);stack[++top]=pos;}int main(){int i;input();for(i=1,S=10000;i<=500;i++)if(du[i]&1)S=min(S,i);for(i=1;S>500;i++)if(du[i])S=min(S,i);dfs(S);for(;top;printf("%d\n",stack[top--]));return 0;}
0 0
- CodeVS2019 骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏
- P2731 骑马修栅栏
- [P2731]骑马修栅栏
- 9018:骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏题解
- 1071: 骑马修栅栏
- usaco3.3.2 骑马修栅栏
- usaco 3.3 骑马修栅栏
- 骑马修栅栏(欧拉路)
- codevs 骑马修栅栏 2039
- 骑马修栅栏(标程)
- luoguP2731 骑马修栅栏 题解
- 【USACO3.3.1】骑马修栅栏 欧拉路
- 深入理解递归函数的调用过程
- 有效解决Adb connection Error
- align&&balignl代码对齐测试
- CSS技巧: CSS隐藏文字的方法(CSS text-indent: -9999px;)
- 设置控制台窗口的标题
- CodeVS2019 骑马修栅栏
- DIV+CSS学习笔记总结篇
- Linux Ubuntu 下webpack无法热重载(webpack-dev-server webpack-watch)
- Package 'libapache2-mod-php5' has no installation candidate解决方案
- 使用poi来导入导出excel文件
- android jni 返回java的一个类
- 编码实践1
- 个人总结的代码
- web前端-CSS 组合选择符 -021