๋ฌธ์
https://www.acmicpc.net/problem/9742
๋ฌธ์ ํ์ด
bruteforce ๋ฌธ์
-์ฐพ๊ณ ์ ํ๋ ์์๊ฐ ๋ฌธ์์ด์ ํฉํ ๋ฆฌ์ผ ๊ฐ ๋ณด๋ค ํด ๋, no permutation ์ถ๋ ฅ
-๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ solveํจ์ ์ฌ๊ท์ ์ผ๋ก ํธ์ถ
solve ํจ์
๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด๊ณผ ๊ฐ๊ณ , ์ํ๋ ์์์ ๋ฌธ์์ด์ผ๋๊น์ง ๋ฐ๋ณตํ๋ค.
solve(s+k,i+1) ์ผ๋ก ๋ฌธ์๋ฅผ ์ถ๊ฐํ๊ณ ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๋๋ ค์ฃผ๋ฉด์ ์ฌ๊ท์ ์ผ๋ก ํธ์ถ
์ฝ๋
import sys
input=sys.stdin.readline
import math
def solve(s,i):
global cnt
if i==len(string):
cnt+=1
if cnt==n:
return s
else:
for k in string:
if k not in s:
res=solve(s+k,i+1)
if res:
return res
return
while(True):
cnt=0
inn=input().split()
if len(inn)!=2:
break
string,n=inn
n=int(n)
many=math.factorial(len(string))
if n>many:
print(string,n,'= No permutation')
continue
print(string,n,'=',solve('',0))
'๐ปAlgorithm > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ/๋ฐฑ์ค] 14907 ํ๋ก์ ํธ ์ค์ผ์ค๋ง - ํ์ด์ฌ (2) | 2023.11.29 |
---|---|
[BOJ/๋ฐฑ์ค] 1043 ๊ฑฐ์ง๋ง - ํ์ด์ฌ (0) | 2022.08.18 |
[BOJ/๋ฐฑ์ค] 2160 ๊ทธ๋ฆผ๋น๊ต - ํ์ด์ฌ (0) | 2022.05.11 |
[๋ฐฑ์ค/BOJ] 1449 ์๋ฆฌ๊ณต ํญ์น - ํ์ด์ฌ (0) | 2022.05.08 |
[2017 ์นด์นด์ค์ฝ๋ ์์ ] ์ปฌ๋ฌ๋ง๋ถ - ํ์ด์ฌ (0) | 2022.03.16 |