時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:3描述
現在有"abcdefghijkl」12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入
第一行有乙個整數n(0
輸出輸出乙個整數m,佔一行,m表示排列是第幾位;
樣例輸入
3樣例輸出abcdefghijkl
hgebkflacdji
gfkedhjblcia
1解題思路:302715242
260726926
康托展開表示的是當前排列在n個不同元素的全排列中的名次,比如213在這3個數所有排列中排第3。
康托展開公式為
eg: 213 ; 第乙個數 2 ,後面有乙個比2小的, 所以1*2!=2,
第二個數 1 ,後面有0個比1小的, 所以0*1!=0,
第三個數 3 ,後面有0個比3小的, 所以0*0!=0,
他們的和為2,表明213在全排列中前面有兩個數
**如下:
/*
**型別:數論
**問題描述:康托展開
**輸入:
**輸出:
*/
# include# includeint main()
printf("%d\n",sum+1); //+1
} return 0;
}
我排第幾個?
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入 第一行有乙個整數n 0 輸出 輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入 3 a...
我排第幾個
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入 第一行有乙個整數n 0 輸出輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入 3 ab...
我排第幾個
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其所有的排列中按字典序排列,給出任意一種排列,說出這個排列在所有的排列中是第幾小的?輸入 第一行有乙個整數n 0 輸出輸出乙個整數m,佔一行,m表示排列是第幾位 樣例輸入 3 ab...