[ペクジュン1174]減少した数


1.問題の説明


減少した数量

2.問題分析


DFSによるバックグラウンドトラッキング.左の数は右の数より大きくなければなりません.numberが空の場合、値を直接入力または出力できます.重複数は集合でチェックします.

3.私の回答

import sys

n = int(sys.stdin.readline().rstrip())
result = set()
# 중복 체크
number = []
def DFS():
    global result
    global number
    if number:
        result.add(int("".join(map(str, number))))
    for i in range(10):
        if not number or number[-1] > i:
            number.append(i)
            DFS()
            number.pop()
            # 백트래킹

DFS()

result = list(result)
result.sort()

if len(result) >= n: print(result[n-1])
else: print(-1)