일곱 난쟁이 문제다. [https://www.acmicpc.net/problem/2309]
문제를 읽고 나면 알 수 있듯이, 아홉 명의 난쟁이 중에 일곱 난쟁이를 찾으면 된다. 이 말인 즉슨, 2명을 찾아서 제외를 하면 되는 것이다.
그러면 2명이면 n제곱으로 찾을 것이다. 3명이면 n 세제곱 , ......
한 번에 모든 난쟁이 키를 더한 뒤에 한 명, 한 명 빼주면 언젠간 100 이 딱 떨어지면 그 수를 제외하고 출력을 하면 된다.
for ( int i = 0; i < 9; ++i ) {
for ( int q = i + 1; q < n; ++q ) {
if (sum - arr[i] - [arr- q] == 100 ) {
// arr[i], arr[q] 를 제외하고 출력
}
}
}
반응형