题目链接
https://pintia.cn/problem-sets/994805342720868352/problems/994805379664297984
题解
题目要求
找到成本最低、快乐值总和最高的路径。优先找成本最低的,然后再找快乐值最高的,然后再找平均快乐值最高的。
- 输入
- N:正整数,[2,200],城市的数量
- K:正整数,路径的数量
- 起始城市的名称
- N-1个城市的名字及其快乐值
- K条路径
- 输出
- 成本最低的路径的数量
- 成本
- 快乐值总和
- 平均快乐值(只输出整数部分)
- 路径
解题思路
这是一道dijkstra+DFS的题,和PAT甲级1018Public Bike Management很类似,所以详细思路不再说明。
- 用两个map将城市的名字和索引相互对应
- 用dijkstra算法求出起始城市到所有城市的最短距离,并记录每个城市的前驱城市
- 使用DFS求出路径(并计算、比较快乐值总和与平均值)
代码
1 | // Problem: PAT Advanced 1087 |
作者:@臭咸鱼
转载请注明出处:https://www.cnblogs.com/chouxianyu/
欢迎讨论和交流!