poj-2287---Tian Ji -- The Horse Racing(贪心)

#include<iostream> 
#include<algorithm> 
using namespace std;
bool cmp(const int,const int);
int king[3000] = {0};
int tian[3000] = {0};
int main()
{
    int n;
    while(cin>>n && n!=0){
        int tf = 0,te = n-1,ke = n-1,kf = 0,i;
        for(i=0;i<n;++i)cin>>tian[i];
        for(i=0;i<n;++i)cin>>king[i];
        sort(king,king+n,cmp);
        sort(tian,tian+n,cmp);
        int cut = 0; 
        int k = 0;
        while(tf<=te && kf<=ke){//
            if(tian[tf] > king[kf]){//最快的能跑过,赚钱 
                tf++;kf++;cut +=200;
            }else if(tian[tf] < king[kf]){//跑不过,最慢的兑子,亏200 
                te--;kf++;cut -=200;
            }else
            {//最快的相等,用最慢的兑子 
                if(tian[te] > king [ke]){//最慢的能赚钱 
                    ke--;te--;cut += 200;
                }else{
                    if(tian[te] < king[kf])cut -= 200;//赚不了钱的兑子
                    te--;kf++;
                }
            }
        }
        cout<<cut<<endl;
    }
    return 0;
}
bool cmp(const int a,const int b){
    return a>b;
}
原文地址:https://www.cnblogs.com/langyao/p/7251895.html