思路:
首先比较最慢的马。
1.如果田忌最慢的马比齐王最慢的马还慢:那么让田忌最慢的马去和齐王最快的马比。输一次。
2.如果田忌最慢的马比齐王最慢的马快:那么让两个比,胜一次。
3.如果最慢的马一样快:再比较田忌和齐王最快的马。如果田忌最快的马比齐王最快的马快,就让两个最快的马比。胜一次。
如果田忌最快的马比齐王最快的马慢,那么让田忌最慢的马去和齐王最快的马比。输一次。
#include<stdio.h>
#include<algorithm>
using namespace std;
int t[1010],k[1010];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==0)break;
int i,win=0,lose=0;
for(i=0;i<n;i++)scanf("%d",&t[i]);
for(i=0;i<n;i++)scanf("%d",&k[i]);
sort(t,t+n);
sort(k,k+n);
int tl=0,kl=0,tm=n-1,km=n-1;
while(tl<=tm)
{
if(t[tl]<k[kl])
{
lose++;
km--;
tl++;
}
else if(t[tl]>k[kl])
{
win++;
tl++;
kl++;
}
else
{
if(t[tm]>k[km])
{
win++;
tm--;
km--;
}
else
{
if(t[tl]<k[km])lose++;
km--;
tl++;
}
}
}
printf("%d\n",200*(win-lose));
}
return 0;
}