#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int M =1100;
int a[M],b[M],n,used[M];
int main()
{
while(cin>>n&&n)
{
memset(used,0,sizeof(used));
for(int i=0;i<n;i++)
{
cin>>b[i];
}
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int los=0,win=0;
int ans=0;
sort(a,a+n);
sort(b,b+n);
int Max1,Max2,Min1,Min2;
Max1=Max2=n-1;
Min1=Min2=0;
int count=0;//已经比较多少匹马了
while(count<n)
{
if(b[Max2]>a[Max1]) //b最快的马能赢a最快的马时 就赢它 :其他马可能赢不了
{
win++;
Max2--;
Max1--;
}
else if(b[Max2]<a[Max1]) // b最快的马都赢不了a最快 :则与a最快比必输 ->使损失最小,用b最慢的马比
{
los++;
Max1--;
Min2++;
}
else// b最快 ==a最快时
{
if(b[Min2]>a[Min1])// 用选择机会少的去赢对面慢的
{
win++;
Min1++;
Min2++;
}
else//赢不了a最强时 && b最慢赢不了时 ->则输给a最强的
{
if(b[Min2]<a[Max1])
{
los++;
}
Max1--;
Min2++;
}
}
count++;
}
ans=(win-los)*200;
cout<<ans<<endl;
}
return 0;
}
poj 2287 田忌赛马 贪心
最新推荐文章于 2019-07-01 08:52:16 发布