HDU 1052 Tian Ji -- The Horse Racing(贪心)(二)
度看,还是自己故意输掉比较好。
但是,还有一点需要注意,当自己放水前,如果己方最快的马原本就比对方最快的马快,然后还输给对方最快的马,那么己方最快的马的才华就浪费了,为什么?
很简单,它原本就能赢,需要你放水么?- -!换句话说,这种情况下,自己的牺牲没有一点价值。
所以,在放水时,一定要保证己方最快马不快于对方最快马。满足此条件后,让己方最慢马与对方最快马去比赛(有可能平局),这样,田忌的马就得到了充分的利用。
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]