[ペクジュン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)
Reference
この問題について([ペクジュン1174]減少した数), 我々は、より多くの情報をここで見つけました
https://velog.io/@j_aion/백준-1174-줄어드는-수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
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)
Reference
この問題について([ペクジュン1174]減少した数), 我々は、より多くの情報をここで見つけました
https://velog.io/@j_aion/백준-1174-줄어드는-수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
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)
Reference
この問題について([ペクジュン1174]減少した数), 我々は、より多くの情報をここで見つけました https://velog.io/@j_aion/백준-1174-줄어드는-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol