Computer Science/Algorithm Problem

백준] 3040 - 백설 공주와 일곱 난쟁이(COCI 2006/2007)

TwinParadox 2018. 1. 14. 08:36
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

총 아홉개 줄에 1보다 크거나 같고 99보다 작거나 같은 자연수가 주어진다. 모든 숫자는 서로 다르다. 또, 항상 답이 유일한 경우만 입력으로 주어진다.




출력

일곱 난쟁이가 쓴 모자에 써 있는 수를 한 줄에 하나씩 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int arr[9], sum = 0;
	for (int i = 0; i < 9; i++)
	{
		cin >> arr[i];
		sum += arr[i];
	}
	for (int i = 0; i < 8; i++)
	{
		for (int j = i + 1; j < 9; j++)
		{
			if (sum - arr[i] - arr[j] == 100)
			{
				for (int k = 0; k < 9; k++)
					if (k != i && k != j)
						cout << arr[k] << '\n';
				return 0;
			}
		}
	}
}




Tip

반복문으로 처리할 수 있다. 전체합을 구하고 어떤 두 개의 숫자를 제외했을 때 100이 되는 경우를 찾으면 답을 출력하고 종료하면 된다.



728x90