思路;
如果田最快大于王最快,则count++;
如果田最快小于王最慢,则用田最慢比掉王最快,count--;
如果田最快等于王最快,则比较田最慢与王最慢
如果田最慢大于王最慢则count++;
如果田最慢小于网最慢则count--;
如果田最慢等于王最慢,则有两种情况:
第一种:田的最慢等于王的最快;这时不对count 进行操作;
第二种情况:田的最慢小于王的最快;此时用田最慢抵掉王最快的吗,count--;
AC代码:
#include <iostream>
#include <algorithm>
#define Max 1001
using namespace std;
bool hanshu(int a,int b)
{
return a>b;
}
int main(void)
{
freopen("in.txt","r",stdin);
int n,T[Max],K[Max];
while(cin>>n&&n)
{
int i,j,a,b,count=0;
for(i=0;i<n;i++)
cin>>T[i];
for(i=0;i<n;i++)
cin>>K[i];
sort(T,T+n,hanshu);
sort(K,K+n,hanshu);
for(i=0,j=0,a=n-1,b=n-1;i<=a;)
{
if(T[i]>K[j])
{
count++;
i++;
j++;
}
else if(T[i]<K[j])
{
count--;
a--;
j++;
}
else if(T[i]==K[j]&&T[a]>K[b])
{
count++;
a--;
b--;
}
else if(T[a]<K[b])
{
count--;
a--;
j++;
}
else if(T[a]<K[j])
{
count--;
a--;
j++;
}
else
{
i++;
j++;
a--;
b--;
}
}
cout<<count*200<<endl;
}
fclose(stdin);
return 0;
}