최대 1 분 소요

사용 언어: Python3

문제

스크린샷 2023-05-04 오전 12 21 06

풀이

내 풀이

from itertools import permutations

N, F = map(int, input().split())

bc = [1] * N
for i in range(1, N):
    bc[i] = bc[i-1] * (N-i) // i

lst = [x for x in range(1, N+1)]
for x in permutations(lst, N):
    tot = 0
    for i in range(N):
        tot += x[i] * bc[i]
    if tot == F:
        print(' '.join(map(str, x)))
        break
  • 정답!
  • 테스트 환경에서 라이브러리를 사용하지 못하게 막을 수 있기 때문에 DFS를 이용한 풀이를 꼭 알아두자.


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기