본문 바로가기
algorithm/ACMICPC

일곱 난쟁이 - 2309

by 에어컨조아 2019. 11. 19.

문제 :

https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

 

소스 :

#include <iostream>
#include <algorithm>

using namespace std;
/*
	제외할 인덱스 2개를 선택 후 총합이 100이되도록 찾도록 구현
*/
int main()
{
	int num[9];
	int value[7];

	for (int i = 0; i < 9; i++)
	{
		cin >> num[i];
	}

	sort(num, &num[9]);

	int total = 0;
	int index = 0;
	bool check = false;
	//첫번째 제외할 인덱스
	for (int i = 0; i < 9; i++)
	{
		if (check)
		{
			break;
		}
		//두번째 제외할 인덱스
		for (int j = i + 1; j < 9; j++)
		{
			total = 0;
			index = 0;
			for (int k = 0; k < 9; k++)
			{
				if (k == i || k == j)
				{
					continue;
				}
				total += num[k];
				value[index++] = num[k];
			}
			if (total == 100)
			{
				check = true;
				break;
			}
		}
	}

	for (int i = 0; i < 7; i++)
	{
		cout << value[i] << "\n";
	}

	return 0;
}

'algorithm > ACMICPC' 카테고리의 다른 글

차이를 최대로 - 10819  (0) 2019.11.19
1, 2, 3 더하기 - 9095  (0) 2019.11.19
날짜 계산 - 1476  (0) 2019.11.19
N과 M (12) - 15666  (0) 2019.11.14
N과 M (11) - 15665  (0) 2019.11.14

댓글