Tian Ji -- The Horse Racing

题意:
给出2N组数据,分别表示田忌和齐威王的N匹马的速度,没进行一场比赛(每组数据共N场场赛),若能分出胜负,则输的一方要给赢的一方200

题解:
田忌的快马若比齐王的快马快那么就比一场,否则和齐王的慢马比.
(这里的慢马,最好是田忌的慢马不能赢的,若能赢则用慢马赢一局):贪心

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int tian[1000];
int qi[1000];

bool cmp(int a,int b)
{
    return a>b;
}

int main()
{
    int t;
    while(scanf("%d",&t)!=EOF)
    {
        if(t==0)
            break;
        for(int i=0;i<t;i++)
            scanf("%d",&tian[i]);
        for(int i=0;i<t;i++)
            scanf("%d",&qi[i]);
        sort(tian,tian+t,cmp);
        sort(qi,qi+t,cmp);
        int a=0,b=0,ans=0,sum=0;
        int x=t-1,y=t-1,n=t;
       /* if(tian[t-1]>qi[0])
            ans=t;
        else if(tian[0]<qi[t-1])
            ans=0;
        else*/
        while(n--)
        {

            if(tian[a]>qi[b])
                a++,b++,ans+=200;
            else if(tian[x]>qi[y])
                x--,y--,ans+=200;
            else if(tian[x]<qi[b])
                b++,x--,ans-=200;
        }
        printf("%d\n",ans);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值