藍橋杯 ADV 188 排列數

2021-08-17 05:07:12 字數 672 閱讀 7205

演算法提高 排列數  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

0、1、2三個數字的全排列有六種,按照字母序排列如下:

012、021、102、120、201、210

輸入乙個數n

求0~9十個數的全排列中的第n個(第1個為0123456789)。

輸入格式

一行,包含乙個整數n

輸出格式

一行,包含一組10個數字的全排列

樣例輸入 1

樣例輸出

0123456789

資料規模和約定

0 < n <= 10!

分析:用dfs求全排列,然後記錄每乙個結果的順序,與輸入數相同的時候輸出陣列內容。本來以為寫了會超時但沒有,算是僥倖過關吧。

**:

#include#includeusing namespace std;

int num[10] = ;

int a[10] = ;

int visit[10] = ;

int cnt = 0;

void sum()

void dfs(int start, int n)

for(int i = 0; i < 10; i++)

}}int main()

藍橋杯 2014 4 排列序數

如果用a b c d這4個字母組成乙個串,有4 24種,如果把它們排個序,每個串都對應乙個序號 abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bacd 6 badc 7 bcad 8 bcda 9 bdac 10 bdca 11 cabd 12 cadb 13 ...

藍橋杯練習題(7) 排列組合

組合演算法 舉個例子 求cnm 即在n個元素找m個元素組合 可以這樣遞迴 對某乙個元素來說,我們可以選擇他,此時剩下n 1個元素,從中找出m 1個元素。也可以不選擇這個元素,此時在剩下的n 1個元素中,我們需要從中尋找m個元素。這兩種情況相加即為最終結果。實現如下 假設 n個球中有乙個特殊的 我們抓...

藍橋杯 排它平方數

小明正看著 203879 這個數字發呆。原來,203879 203879 41566646641 這有什麼神奇呢?仔細觀察,203879 是個6位數,並且它的每個數字上的數字都是不同的,並且它平方後的所有數字上都不出現組成它自身的數字。具有這樣特點的6位數還有乙個,請你找出它!再歸納一下篩選要求 1...