【HDU2109】Fighting for HDU:送分题

题目原链接:

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;
}

猜你喜欢

转载自blog.csdn.net/Mikchy/article/details/81481890