NYOJ 143 第幾是誰?

2021-09-08 16:38:26 字數 957 閱讀 9039

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:3

描述

現在有"abcdefghijkl」12個字元,將其按字典序排列,如果給出任意一種排列,我們能說出這個排列在所有的排列中是第幾小的。但是現在我們給出它是第幾小,需要你求出它所代表的序列.

輸入

第一行有乙個整數n(0

輸出輸出乙個序列,佔一行,代表著第m小的序列。

樣例輸入

3

1302715242

260726926

樣例輸出

abcdefghijkl

hgebkflacdji

gfkedhjblcia

解題思路:

康托展開:可以已知序列求其字典序中的序數,

也可已知字典序的序數求其序列

ps : nyoj -139 是本題的逆向過程,可參看前邊的博文

1 #include 2 #include 

3 #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...