田忌赛马: POJ 2287(贪心解法)
2013-02-17 13:58
531 查看
POJ 2287问题描述:
你一定听过田忌赛马的故事吧?
如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局的话不输不赢。 请问田忌最多能赢多少银子?
关于输入:
输入包含多组测试数据,每组测试数据的第一行是一个整数n(1<=n<=1000),表示田忌和齐王都拥有n匹马。接下来一行是n个整数,表示田忌的马的速度,下一行也是n个整数,表示齐王的马的速度。 输入的最后以一个0表示结束。
关于输出:
对每组数据,输出一个整数,表示田忌至多可以赢多少银子,如果田忌赢不了,就输出一个负数,表示田忌最少要输多少银子。
例子输入:
3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0
例子输出:
200
0
0
解题思路:
贪心算法。如果当前最好的马可以胜齐王最好的马,那么让这两匹马比一场。如果当前最差的马能胜齐王最差的马,那么让这两匹马比一场。如果上面两个条件都不满足,那么让当前最差的马和齐王最好的马比一场。
你一定听过田忌赛马的故事吧?
如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局的话不输不赢。 请问田忌最多能赢多少银子?
关于输入:
输入包含多组测试数据,每组测试数据的第一行是一个整数n(1<=n<=1000),表示田忌和齐王都拥有n匹马。接下来一行是n个整数,表示田忌的马的速度,下一行也是n个整数,表示齐王的马的速度。 输入的最后以一个0表示结束。
关于输出:
对每组数据,输出一个整数,表示田忌至多可以赢多少银子,如果田忌赢不了,就输出一个负数,表示田忌最少要输多少银子。
例子输入:
3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0
例子输出:
200
0
0
解题思路:
贪心算法。如果当前最好的马可以胜齐王最好的马,那么让这两匹马比一场。如果当前最差的马能胜齐王最差的马,那么让这两匹马比一场。如果上面两个条件都不满足,那么让当前最差的马和齐王最好的马比一场。
相关文章推荐
- POJ2287--贪心(田忌赛马)
- poj 2287 贪心(田忌赛马)
- HDUOJ-1052(poj-2287)(田忌赛马)(贪心)
- 2287 poj 田忌赛马,贪心
- POJ-2287 Tian Ji -- The Horse Racing 贪心 | DP
- POJ-5353-Fence Repair(哈夫曼问题->贪心(一种解法两种做法))
- poj 2287 田忌赛马
- POJ 2287 && HDU 1052 Tian Ji -- The Horse Racing(贪心)
- poj 2287 Tian Ji -- The Horse Racing(贪心)
- POJ 2287 田忌赛马 贪心
- POJ 2376 浅谈一类区间覆盖问题的贪心解法
- POJ-2287 Tian Ji -- The Horse Racing 贪心规则在动态规划中的应用 Or 纯贪心
- poj 2287 Tian Ji -- The Horse Racing 贪心思想在动态规划上的应用
- POJ 2287 Tian Ji -- The Horse Racing&&浙江科技学院第十三届程序设计竞赛1006 田忌赛马后传(贪心)
- poj 2287 田忌赛马 贪心
- (贪心5.1.2)POJ 2287 Tian Ji -- The Horse Racing
- poj 2287 田忌赛马
- poj 2287 Tian Ji -- The Horse Racing (贪心)
- POJ 2287 贪心
- 田忌赛马(POJ 2287)