我排第幾個 康托展開

2021-07-02 05:48:29 字數 947 閱讀 7745

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3描述

現在有"abcdefghijkl」12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?

輸入

第一行有乙個整數n(0

輸出輸出乙個整數m,佔一行,m表示排列是第幾位;

樣例輸入

3

abcdefghijkl

hgebkflacdji

gfkedhjblcia

樣例輸出

1

302715242

260726926

利用康托展開可以輕鬆解決這題,
1324是排列數中第幾個大的數:
第一位是1小於1的數沒有,是0個 0*3! 第二位是3小於3的數有1和2,
但1已經在第一位了,所以只有乙個數2 1*2! 。
第三位是2小於2的數是1,但1在第一位,所以有0個數 0*1! ,
所以比1324小的排列有0*3!+1*2!+0*1!=2個,1324是第三個小數。
ps:康托展開公式x=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 

nyoj 139 我排第幾個(康托展開)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入 第一行有乙個整數n 0 輸出輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入 3 ab...

NYOJ 139 我排第幾個(康托展開)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入第一行有乙個整數n 0 輸出輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入 3 abcd...

nyoj 139 我排第幾個 數學 康托展開

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入 第一行有乙個整數n 0 輸出輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入 3 ab...