본문 바로가기
Algorithm/완전탐색

[백준] 14568번 2017 연세대학교 프로그래밍 경시대회

by HANNI하니 2023. 9. 10.

사용 언어 - Python3

문제 -  2017 연세대학교 프로그래밍 경시대회

 

14568번: 2017 연세대학교 프로그래밍 경시대회

규칙에 맞게 사탕을 분배하는 경우의 수를 출력한다. 택희, 영훈이, 남규가 받은 사탕의 수를 각각 A, B, C개라고 할 때, 서로 다른 (A, B, C) 순서쌍의 수를 세면 된다. 만일 규칙에 맞게 사탕을 분

www.acmicpc.net

 

 

정답

완전탐색 - 각 조건 생각하기 (정답 맞춘 여부 O)

1. range 범위 지정하기

영훈이는 1부터 N-3까지 가능

남규는 영훈보다 2이상이어야 하므로 영훈+2부터 N-1까지 가능

택희는 N에서 영훈과 남규를 뺀 나머지이고, 1보다 크며 짝수조건을 만족

=> cnt += 1

N = int(input()) # 사탕 N개 
cnt = 0

for a in range(1,N-3): # 영훈
    for b in range(a+2, N-1): # 남규
        c = N-a-b # 택희
        if c >= 1 and c%2 == 0:
            cnt += 1
print(cnt)

 

완전 탐색 끝판왕 해답

N = int(input()) # 사탕 N개 
cnt = 0

for a in range(0,N+1):
    for b in range(0,N+1):
        for c in range(0,N+1):
            if a+b+c == N:
                if a >= b+2:
                    if a != 0 and b != 0 and c != 0:
                        if c % 2 == 0:
                            cnt += 1
print(cnt)

 

 

레퍼런스

  • 정답 깃허브

댓글