(BOJ)-14568, Python
(BOJ)-14568, Python
문제 요약
출처: (BOJ)14568 - 2017 연세대학교 프로그래밍 경시대회
N개의 사탕이 주어졌을 때, 택희, 영훈, 남규가 아래 조건에 맞추어 적절히 사탕을 나누어 가질 수 있는 경우의 수를 구하는 문제이다.
사탕 분배에 대한 조건은 다음과 같다:
- 남는 사탕은 없어야 한다.
- 남규는 영훈이보다 2개 이상 많은 사탕을 가져야 한다.
- 셋 중 사탕을 0개 받는 사람은 없어야 한다.
- 택희가 받는 사탕의 수는 홀수개가 되어서는 안 된다.
접근 과정
1. 완전탐색 접근
세 사람이 사탕을 가질 수 있는 모든 경우의 수를 돌며, 조건을 통과하는 카운트를 세보자..!
코드 구현
1
2
3
4
5
6
7
8
9
10
candy = int(input())
count = 0
for T in range(1, candy+1):
for N in range(1, candy+1):
for Y in range(1, candy+1):
if T + N + Y == candy:
if N >= Y+2:
if T % 2 == 0:
count +=1
print(count)
회고
완전탐색적 접근으로 쉽게 해결할 수 있었다. 완전탐색은 가장 무식한 방법이지만, 충분한 시간만 주어진다면 해결할 수 있다..!
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.