一個字串的排列組合是該字串所有字符可能組合的集合。例如,"abc" 的排列組合是 {“abc”, “acb”, “bac”, “bca”, “cab”, “cba”}。這個集合的大小等於初始字串大小的階乘。
給定一個字串 S(最多包含 20 個字符,全部為小寫字母)和一個整數 N(0 ≤ N < 20!),找出 S 的排列組合中第 (N + 1) 個最小的元素(考慮字典順序;例如上面 "abc" 的排列組合按字典順序從左到右排列)。
例如:
注意,字串在初始時可能並未排序(請查看最後兩個例子)。
輸入文件的第一行包含一個整數,表示樣本數量。接下來每個樣本包含兩行:第一行是一個字符串 S,下一行是一個整數 N。
對於每個樣本,輸出所需的值,每個值單獨佔一行。
2 abc 3 abcde 119
bca edcba
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|