n751. 00941 - Permutations
Tags :
Accepted rate: 61人/ 82人 ( 74%) [非即時]
評分方式:
Tolerant

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

Content

一個字串的排列組合是該字串所有字符可能組合的集合。例如,"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"

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

Input

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

Output

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

Sample Input #1
2
abc
3
abcde
119
Sample Output #1
bca
edcba
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (50%): 1.0s , <1K
公開 測資點#1 (50%): 1.0s , <1K
Hint :
Tags:
出處:
UVA [管理者: ig99lp33lp33 (위즈원) ]

Status Forum 排行

ID User Problem Subject Hit Post Date
41967 yanbo920223@ ... (Selia) n751
371 2024-09-14 19:26
41939 alen24816@gm ... (AlenLU) n751
396 2024-09-11 23:07