n751. 00941 - Permutations
標籤 :
通過比率 : 19人/27人 ( 70% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-05-23 12:25

內容

一個字串的排列組合是該字串所有字符可能組合的集合。例如,"abc" 的排列組合是 {“abc”, “acb”, “bac”, “bca”, “cab”, “cba”}。這個集合的大小等於初始字串大小的階乘。

給定一個字串 S(最多包含 20 個字符,全部為小寫字母)和一個整數 N(0 ≤ N < 20!),找出 S 的排列組合中第 (N + 1) 個最小的元素(考慮字典順序;例如上面 "abc" 的排列組合按字典順序從左到右排列)。

例如:

  • 如果 S = "abc" 且 N = 0,那麼結果應為 "abc"
  • 如果 S = "abc" 且 N = 5,那麼結果應為 "cba"
  • 如果 S = "abc" 且 N = 3,那麼結果應為 "bca"
  • 如果 S = "cba" 且 N = 3,那麼結果應為 "bca"

注意,字串在初始時可能並未排序(請查看最後兩個例子)。

輸入說明

輸入文件的第一行包含一個整數,表示樣本數量。接下來每個樣本包含兩行:第一行是一個字符串 S,下一行是一個整數 N。

輸出說明

對於每個樣本,輸出所需的值,每個值單獨佔一行。

範例輸入 #1
2
abc
3
abcde
119
範例輸出 #1
bca
edcba
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (50%): 1.0s , <1K
公開 測資點#1 (50%): 1.0s , <1K
提示 :
標籤:
出處:
UVA [管理者: ig99lp33lp33 (위즈원) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」