時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:3
描述
現在有"abcdefghijkl」12個字元,將其按字典序排列,如果給出任意一種排列,我們能說出這個排列在所有的排列中是第幾小的。但是現在我們給出它是第幾小,需要你求出它所代表的序列.
輸入
第一行有乙個整數n(0
輸出輸出乙個序列,佔一行,代表著第m小的序列。
樣例輸入
31302715242
260726926
樣例輸出
abcdefghijklhgebkflacdji
gfkedhjblcia
解題思路:
ps : nyoj -139 是本題的逆向過程,可參看前邊的博文康托展開:可以已知序列求其字典序中的序數,
也可已知字典序的序數求其序列
1 #include 2 #include3 #include 4
5using
namespace
std;67
int fac[13]; //
儲存階乘
8int num[13]; //
num[i]儲存從小到大第i個未用過的字母編號910
void cal_fac()//
計算階乘
1116
17void init() //
初始化序列
1822
23void solve(int
cnt)
2433 printf("\n"
);34}35
36int
main()
3747
return0;
48 }
nyoj 143 第幾是誰?
時間限制 3000 ms 記憶體限制 65535 kb 難度 3描述 現在有 abcdefghijkl 12個字元,將其按字典序排列,如果給出任意一種排列,我們能說出這個排列在所有的排列中是第幾小的。但是現在我們給出它是第幾小,需要你求出它所代表的序列.輸入 第一行有乙個整數n 0 輸出輸出乙個序列...
NYOJ 143第幾是誰
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在有 abcdefghijkl 12個字元,將其按字典序排列,如果給出任意一種排列,我們能說出這個排列在所有的排列中是第幾小的。但是現在我們給出它是第幾小,需要你求出它所代表的序列.輸入第一行有乙個整數n 0輸出 輸出乙個序列,...
nyoj 139 我排第幾 143 第幾是誰
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入第一行有乙個整數n 0 輸出輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入2 abcd...