/*田忌赛马:贪心算法
问题分析
这是一道很经典的贪心算法入门题。 这道题贪心的思想是 要把每一匹马的作用发挥到最大,把已
方赢的概率增加到最大.
我是从双方慢马的角度来分析的,其实快马和慢马的思路差不多。
用田忌最慢的马与王最慢的马相比较:
1.如果田忌的慢马比王的慢马要快
果断把先用田忌的慢马先赢一把(这样赢是代价最小的)
2.如果田忌的慢马比王的慢马要慢
果断把这匹慢马与王最快的马比赛(因为反正都要输,这样我输的价值更大,因为我把最快的马比下去了,可
以增加后面其他马赢的机会)
3.如果田忌的慢马与王的慢马速度一样
->拿田忌最快的马和王最快的马比较
1)如果田忌快马比王快马快,那就拿这匹快马赢一局,之所以需要判断是因为我想让我最慢的马收益更大,如
果我的快马比王的快马快就没必要让慢马和这匹快马比了,我可以直接赢一盘。然后让我最慢的马去和王的一
匹比我剩下所有的马都要快的马比赛,这样我的慢马收益才是最大的。
2)如果田忌快马比王快马慢,那就拿田忌最慢的马与王最快的马比赛,这样的话我可以增加已方后面的马赢的
概率,因为你把最快的马拉走了.
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[1005],b[1005];
int cmp(int x,int y)
{
return x<y;
}
int main()
{
&nb

最低0.47元/天 解锁文章
1902

被折叠的 条评论
为什么被折叠?



