HDU 1052 Tian Ji -- The Horse Racing(贪心)(二)

2014-11-23 21:27:59 · 作者: · 浏览: 7
度看,还是自己故意输掉比较好。
但是,还有一点需要注意,当自己放水前,如果己方最快的马原本就比对方最快的马快,然后还输给对方最快的马,那么己方最快的马的才华就浪费了,为什么?
很简单,它原本就能赢,需要你放水么?- -!换句话说,这种情况下,自己的牺牲没有一点价值。
所以,在放水时,一定要保证己方最快马不快于对方最快马。满足此条件后,让己方最慢马与对方最快马去比赛(有可能平局),这样,田忌的马就得到了充分的利用。
AC代码:
#include
#include
#include
#include
using namespace std;

int a[1005];
int b[1005];
int cmp(int a,int b)
{
    if(a>b) return 1;
    return 0;
}

int main()
{
    int n,i,j,sum,len1,len2;
    while(scanf("%d",&n)&&n)
    {
        for(i=0;i
b[len2]) //田忌慢马>齐王慢马 { sum++; //先胜一场 len1--,len2--; } else if(a[len1]