#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int tian[1005],king[1005];
int n;
int cmp(int a,int b)
{
return a>b;
}
void init()
{
int i;
for(i=0;i<n;i++)
scanf("%d",&tian[i]);
for(i=0;i<n;i++)
scanf("%d",&king[i]);
sort(tian,tian+n,cmp);
sort(king,king+n,cmp);
}
int main()
{
int i;
while(scanf("%d",&n)!=EOF&&n)
{
init();
int tq=0,kq=0;
int ts=n-1,ks=n-1;
int total=0;
for(i=0;i<n;i++)
{
if(tian[tq]>king[kq]) //如果田忌最快的马比齐王最快的马要快,直接比
{
total++;
tq++;
kq++;
}
else if(tian[tq]<king[kq]) //如果田忌最快的马比齐王最快的马要慢,就用田忌最慢的马当炮灰与齐王最快的马比
{
total--;
kq++;
ts--;
}
else
{
if(tian[ts]>king[ks]) //如果田忌最慢的马比齐王最慢的马要快,直接比
{
total++;
ts--;
ks--;
}
else
{
if(tian[ts]<king[kq]) //如果田忌最慢的马比齐王最快的马要慢,就用田忌最慢的马当炮灰与齐王最快的马比
{
total--;
ts--;
kq++;
}
}
}
}
printf("%d\n",total*200);
}
return 0;
}HDU 1052 田忌赛马
最新推荐文章于 2024-07-26 09:15:00 发布
本文介绍了一种基于田忌赛马策略的算法实现。通过排序和比较的方式,模拟了田忌与齐王赛马的过程,并计算出最终的胜负得分。代码使用C++编写,展示了如何通过不同的马匹配对策略来影响比赛结果。
569

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



