POJ-2287
参考文章
#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
bool comp(int x ,int y)
{
return x > y;
}
int main()
{
int n;
int temp;//保存临时变量的
vector<int> vec;//用于保存输出的结果
while(cin>>n&&n!=0)
{
vector<int> tian_vec;
vector<int> qi_vec;
for(int i=0;i<n;i++)
{
cin>>temp;
tian_vec.push_back(temp);
}
sort(tian_vec.begin(),tian_vec.end(),comp);
for(int i=0;i<n;i++)
{
cin>>temp;
qi_vec.push_back(temp);
}
sort(qi_vec.begin(),qi_vec.end(),comp);
int tian_i=0;
int tian_j=tian_vec.size()-1;
int qi_i=0;
int qi_j=qi_vec.size()-1;
int num=0;//记录田忌赢的次数
int lost=0;//记录田忌输的次数
for(int i=0;i<n;i++)
{
if(tian_vec[tian_i]>qi_vec[qi_i])//田忌的优等马>齐王的优等马
{
num++;
tian_i++;
qi_i++;
}
else//田忌的优等马<=齐王的优等马
{
if(tian_vec[tian_j]>qi_vec[qi_j])//田忌的下等马>齐王的下等马
{
num++;
tian_j--;
qi_j--;
}
else//田忌的下等马<=齐王的下等马,田忌的下等马去比较齐王的上等马
{
if(tian_vec[tian_j]<qi_vec[qi_i])//田忌的下等马<齐王的上等马
{
num--;
tian_j--;
qi_i++;
}
}
}
}
tian_vec.clear();
qi_vec.clear();
vec.push_back(num*200);
}
for(int i=0;i<vec.size();i++)
{
cout<<vec[i]<<endl;
}
}