본문 바로가기
Algorithm/baekjoon

[파이썬]baekjoon 19949: 영재의 시험

by 갈잃자 2023. 3. 4.

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

 

19949번: 영재의 시험

컴퓨터공학과 학생인 영재는 이번 학기에 알고리즘 수업을 수강한다. 평소에 자신의 실력을 맹신한 영재는 시험 전날까지 공부를 하지 않았다. 당연하게도 문제를 하나도 풀지 못하였지만 다행

www.acmicpc.net


브루스포스 문제

arr = list(map(int,input().split()))
path = [0]*10
num = [0,1,2,3,4,5]
result = 0
def dfs(level):
    global result

    if level ==10:
        cnt = 0
        for i in range(len(path)):
            if path[i] == arr[i]:
                cnt +=1
                if cnt >=5:
                    break
        if cnt >=5:
            result +=1
        return

    for i in range(1, 6):
        if level >1 and (path[level-2] == path[level-1] and path[level-1] == i):
            continue
        path[level] = num[i]
        dfs(level+1)
        path[level] = 0

dfs(0)
print(result)

 

댓글