atcoder ABC 321 C - 321-like Searcherの説明

atcoder.jp

・説明
 "9876543210"が最大の答えになるのでこれ以下の値を列挙する。今回はitertoolsのcombinationsを使った。

from itertools import combinations
k=int(input())

C=[9,8,7,6,5,4,3,2,1,0]
ans=[]

for i in range(1,11):
    for c in combinations(C,i):
        #例えば{9,8}を98という値にして、ansにappendする。
        tmp=0
        for cc in c:
            tmp=tmp*10+cc
        ans.append(tmp)
 
ans.sort()
print(ans[k])