解题思路:首先需要根据马的快慢进行从大到小排序,然后分情况考虑
田的快马比国王快马还快;
田的快马比国王快马慢;
田的快马与国王快马相等
代码实现:
#include<bits/stdc++.h>
using namespace std;
int tian[1005],king[1005];
bool cmp(int h1,int h2)
{
return h1>h2;
}
int main()
{
int n,i,s=0;
cin>>n;
while(n)
{
for(i=0;i<n;i++)
{
cin>>tian[i];
cin>>king[i];
}
sort(tian,tian+n,cmp);
sort(king,king+n,cmp);
int tiankuai=0,kingkuai=0;
int tianman=n-1,kingman=n-1;
while(n--)
{
if(tian[tiankuai]>king[kingkuai])
{
tiankuai++;
kingkuai++;
s+=200;
}
else
if(tian[tianman]>king[kingman])
{
tianman--;
kingman--;
s+=200;
}
else
if(tian[tianman]<king[kingkuai])
{
tianman--;
kingkuai++;
s-=200;
}
}
cout<<s<<endl;
}
return 0;
}
遇到的bug:超时