题目原链接:
http://acm.hdu.edu.cn/showproblem.php?pid=2109
分析:
把两方的战斗力分别记录在两个数组中,要求必须出战顺序是从弱到强,也就是将数组进行升序排序,然后两个比较,赢的加2分,平的各加一分,输的得0分。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int power1[110],power2[110];
int main()
{
int n;
while(1)
{
cin >> n;
if(n==0)
break;
for(int i = 0;i < n;i++)
cin >> power1[i];
for(int i = 0;i < n;i++)
cin >> power2[i];
sort(power1,power1+n);
sort(power2,power2+n);
int score1 = 0;
int score2 = 0;
for(int i = 0;i < n;i++)
{
if(power1[i]>power2[i])
{
score1 += 2;
}
else if(power1[i]==power2[i])
{
score1++;
score2++;
}
else
{
score2 += 2;
}
}
printf("%d vs %d\n",score1,score2);
}
return 0;
}