[uva] 10099 - The Tourist Guide
10099 - The Tourist Guide
题目页:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1040
打不开的可以上国内的:http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=1080
之前使用 最小生成树的 Kruskal 算法 + 广度优先搜索
改进之后用了 用动态规划技术实现的所有节点对的最短路径问题的 Floyd-Warshall 算法,不仅代码量急剧减少,简化了逻辑
此题的坑之一:Mr.G.自己也算一个人……… 反映到代码里是63行
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#include <stdio.h>#include <stdlib.h>int number_points;int map_values[110][110];void floyd(){ for (int a = 1; a <= number_points; a++) { for (int b = 1; b <= number_points; b++) { for (int x = 1; x <= number_points; x++) { int ax = map_values[a][x]; int xb = map_values[x][b]; int smaller = ax < xb ? ax : xb; if (map_values[a][b] < smaller) { map_values[a][b] = smaller; } } } }}int main(){ int count = 1; int number_ways; scanf("%d%d", &number_points, &number_ways); while(number_points != 0 && number_ways != 0) { // 0. 初始化图 for (int y = 1; y <= number_points; y++) for (int x = 1; x <= number_points; x++) { map_values[x][y] = 0; } // 1. 读取边 for (int i = 0; i < number_ways; i++) { int x, y, values; scanf("%d%d%d", &x, &y, &values); map_values[x][y] = values; map_values[y][x] = values; } // 2. 读取起始节点和顾客数量 int start, end, number_customer; scanf("%d%d%d", &start, &end, &number_customer); // 3. floyd 算法 floyd(); // 4. 获取值 int max_value = map_values[start][end]; // 5. 输出结果 max_value--; // Mr. G. 自己也算上 int remainder = number_customer % max_value; printf("Scenario #%d\nMinimum Number of Trips = ", count); if (remainder) printf("%d\n", number_customer / max_value + 1); else printf("%d\n", number_customer / max_value); // 6. 读取下一行数据 scanf("%d%d", &number_points, &number_ways); count++; } return 0;} |
[uva] 10099 - The Tourist Guide的更多相关文章
- UVa10099_The Tourist Guide(最短路/floyd)(小白书图论专题)
解题报告 题意: 有一个旅游团如今去出游玩,如今有n个城市,m条路.因为每一条路上面规定了最多可以通过的人数,如今想问这个旅游团人数已知的情况下最少须要运送几趟 思路: 求出发点到终点全部路其中最小值 ...
- floyd类型题UVa-10099-The Tourist Guide +Frogger POJ - 2253
The Tourist Guide Mr. G. works as a tourist guide. His current assignment is to take some tourists f ...
- CodeForces 589H Tourist Guide
传送门 题目大意 给定$n$个点$m$条边的无向图,有$K$个关键点,你要尽可能的让这些关键点两两匹配,使得所有点对之间可以通过简单路径连接且任意两个简单路径没有重复的边(可以是共同经过一个点),输出 ...
- UVA题目分类
题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...
- ACM训练计划step 1 [非原创]
(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成 ...
- 算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- uva 10048 Audiophobia(最小生成树)
题目链接:10048 - Audiophobia 题目大意:有n个城市,和m条街道,每条街道有一个噪音值,q次去问,从城市a到城市b,路径上分贝值的最大值最小为多少. 解题思路:与uva 10099的 ...
- UESTC-888-Absurdistan Roads(kruskal+floyd)
The people of Absurdistan discovered how to build roads only last year. After the discovery, every c ...
随机推荐
- 微信 vue中使用video.js播放m3u8视频,解决安卓自动全屏的问题。
最近一个项目中需要在微信中播放m3u8格式的视频,刚开始用了 vue-video-player 这个插件,在IOS手机体验良好,本以为完事了, 结果安卓手机一点播放就自动全屏,心态略崩.查了资料说是安 ...
- 在Vue项目中使用html2canvas生成页面截图并上传
使用方法 项目中引入 npm install html2canvas html代码 //html代码 <!-- 把需要生成截图的元素放在一个元素容器里,设置一个ref --> <di ...
- pandas数据清洗
1.我已安装好Anavonda3.5.所以我只用打开"jupyter notebook",然后打开浏览器 然后点击右侧的“new",然后打开python3
- (转)Linux-HA实战(1)— Heartbeat安装
原文:http://blog.csdn.net/liaomin416100569/article/details/76087448-------centos7源代码编译安装heartbeat 原文:h ...
- Oracle 客户端管理软件安装
1.首先,先说明下为什么要安装Oracle客户端管理工具? 因为Oracle服务端过大,而且消耗的资源过多,大部分公司会把服务端装在公司的服务器上,而不会装在员工的电脑上,所以这个时候就需要使用Ora ...
- Git 学习之关于版本库
记得在第一次接触代码的时候,当对一些改动不是很确定的时候,我的做法就是在我的电脑上保留多个文件,分别以不同的名字来保存,以便于以后发现某个地方的带动是错误的好做修改,现在想想真是好笑啊. 慢慢的在工作 ...
- 8086处理器的无条件转移指令——《x86汇编语言:从实模式到保护模式》读书笔记13
本博文是对原书8.3.10的内容的总结. 一.相对短转移 指令格式是: jmp short 标号 标号也可以替换成具体的数值(标号和数值是等价的),例如 jmp short 0x2000 说明: (1 ...
- 编译impala2.0.0
使用redhat5.8没编译成功,改用redhat6.4最终编译成功. 参考官方的文档https://github.com/cloudera/Impala/tree/v1.2.2 不知道官方的read ...
- How Religion Destroys Programmers--ref
http://simpleprogrammer.com/2013/07/08/how-religion-destroys-programmers/ discovered something about ...
- Maven 常见知识点整理
认识 Maven Maven 的作用? 1.添加第三方jar包 2.解决jar包之间的依赖关系 3.获取第三方jar包 4.将项目拆成多个工程模块 Maven 是什么? 是Apache软件基金会组织维 ...