这道题就是用来回忆dijkstra算法的,题目大意是我可以与多个人进行交易,目的是想娶国王的女儿(即聘礼啦),直接找国王需要10000金币的聘礼,但是可以用一个钻石加8000金币换,或者其他物品加相应金额换取。同样的钻石可以用某一物品再加相应金额换取到。除交换价格外,还要注意的是交换需要在一定等级内产生,会手动输入一个数字标示等级差M,交换的人属于不同的等级,我只能与某个人及大于他不超过M级的人们交易或者小于他不超过M的人们进行交易。输入的格式如下:
1 4
10000 3 2
2 8000
3 5000
1000 2 1
4 200
3000 2 1
4 200
50 2 0
输出一个最少金额,可以满足国王的要求。(原价10000的聘礼),第一行的两个数据:第一个是等级差M,第二个是一共多少个物品。之后一行有三个数据,分别是价格,主人的等级,还有就是可以替代的物品数,比如上述数据第二行是10000 3 2,表示该物品价格是10000,主人等级是3,可以有两种代替方案:第一种是2号物品加8000个金币即可,第二个是三号物品加5000个金币即可,以 此类推。
这道题可以使用dijkstra算法:有个0点,所有物品的单价设为0点到物品点的权重,物品与物品之间的交换代价就是点与点之间的权重,那么等级问题该怎么办?这里就巧妙的用到了原dijkstra算法中的判断数组:因为注意到是不知道那个起点开始交易,所以遍历所有的点,选择一个点后首先进行点的选择,将等级太低的。
详细解决方案
poj-1062 dijkstra算法
热度:75 发布时间:2023-12-12 14:45:24.0
相关解决方案
- P1462 通往奥格瑞玛的道路(二分+dijkstra)
- 最短路径问题——迪杰斯特拉算法(Dijkstra)
- POJ 3114 Countries in War 强连通+dijkstra .
- POJ 3159 Candies (Dijkstra+堆优化) .
- A*,Dijkstra,BFS算法性能比较及A*算法的应用
- 1062. 最简分数(20) PAT
- PAT甲级-1062 Talent and Virtue (25分)【同PAT乙级-1015】
- PAT乙级-1062 最简分数 (20分)
- 算法-21-最短路径(Dijkstra+最优算法+Bellman-Ford)
- PAT - 甲级 - 1062. Talent and Virtue (25)(排序)
- NYOJ - 115 - 城市平乱 ( 最短路 Dijkstra )
- hdu 2112 HDU Today(dijkstra)
- HDOJ 2066 一个人的旅行(dijkstra)
- HDOJ 1596 find the safest road(floyd +dijkstra 两种方法)
- hduoj 2544 最短路(模板 dijkstra + floyd )
- Buggy Robot(Dijkstra + DP)
- (Dijkstra)L2-001 紧急救援 (25 分)
- (Dijkstra)7-13 天梯地图 (30 分)
- (差分约束,Dijkstra+堆优化)poj3159 Candies
- ( 最短路 Dijkstra ) NYOJ - 115 - 城市平乱
- UVALive4128[Steam Roller] dijkstra+拆点
- UVALive4080[Warfare And Logistics] 最短路树+dijkstra
- UVA10537[The Toll! Revisited] dijkstra/spfa 反向建图
- UVA11374[Airport Express] dijkstra/spfa+枚举
- UVA658[It's not a Bug, it's a Feature!] BellmanFord || Dijkstra 求最短路
- P4568 [JLOI2011]飞行路线 分层图+dijkstra
- P4011 孤岛营救问题,状态压缩+dijkstra。
- POJ3767 I Wanna Go Home (Dijkstra)
- 最短路径模板(dijkstra,floyed)
- HDOJ2544 最短路(Dijkstra,floyd,模板)