Computer Science/Algorithm Problem

백준] 4435- 중간계 전쟁(ACM-ICPC Regionals)

TwinParadox 2018. 9. 25. 14:20
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, 독수리, 마법사 순서이다. 둘째 줄에는 사우론 군대에 참여한 종족의 수가 주어진다. 이 값 역시 공백으로 구분되어 있으며, 오크, 인간, 워그, 고블린, 우럭하이, 트롤, 마법사 순서이다. 모든 값은 음이 아닌 정수이고, 각 군대의 점수의 합은 32비트 정수 제한을 넘지 않는다.




출력

각 전투에 대해서, "Battle"과 전투 번호를 출력한다. 그 다음에 간달프의 군대가 이긴다면 "Good triumphs over Evil"를, 사우론의 군대가 이긴다면 "Evil eradicates all trace of Good", 점수의 합이 같아 이기는 쪽이 없다면 "No victor on this battle field"를 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int t, g, s, gan[6] = { 1,2,3,3,4,10 }, sa[7] = { 1,2, 2,2,3,5,10 }, ganScore, saScore;
	cin >> t;
	for (int i = 1; i <= t; i++)
	{
		ganScore = saScore = 0;
		for (int i = 0; i < 6; i++)
		{
			cin >> g;
			ganScore += gan[i] * g;
		}
		for (int i = 0; i < 7; i++)
		{
			cin >> s;
			saScore += sa[i] * s;
		}

		cout << "Battle " << i << ": ";
		if (ganScore > saScore)
			cout << "Good triumphs over Evil\n";
		else if (ganScore == saScore)
			cout << "No victor on this battle field\n";
		else
			cout << "Evil eradicates all trace of Good\n";
	}
}




Tip

아주 간단한 구현 문제다. 아마 컴파일 하면 i에 대해서 모호하다고 경고를 주긴 할 건데, 작성 당시에 전혀 생각 못한 상태로 빠르게 풀고 제출해서 몰랐다. 코드 상에는 문제가 없다.



728x90
728x90