時間限制: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!
#include
#include
using
namespace
std;
int a[11];
const
int n=10;
char str[5000000][11];
int cnt;
int flag[10];//陣列值為狀態,下標是數字
int num;
void dfs(int cur)
printf("\n");}}
else
for(int i=0;iif(!flag[i])
}}int main()
簡單的dfs全排列 注意超時
貼上我的超時**
#include
#include
using
namespace
std;
int a[11];
const
int n=10;
char str[5000000][11];
int cnt;
int num;
void dfs(int cur)
printf("\n");}}
else
for(int i=0;iint ok=1;
for(int j=0;jif(a[cur]==a[j])
ok=0;
}if(ok) dfs(cur+1);
}}int main()
互相比較一下:在於優化判斷該數字是否已經使用 藍橋杯演算法提高 排列數
原題 演算法提高 排列數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 0 1 2三個數字的全排列有六種,按照字母序排列如下 012 021 102 120 201 210 輸入乙個數n 求0 9十個數的全排列中的第n個 第1個為0123456789 輸入格式 一行,包含乙個整數n 輸出...
C程式 藍橋 演算法提高 排列數
問題描述 0 1 2三個數字的全排列有六種,按照字母序排列如下 012 021 102 120 201 210 輸入乙個數n 求0 9十個數的全排列中的第n個 第1個為0123456789 輸入格式 一行,包含乙個整數n 輸出格式 一行,包含一組10個數字的全排列 樣例輸入 樣例輸出 資料規模和約定...
演算法提高 逆序排列
問題描述 編寫乙個程式,讀入一組整數 不超過20個 並把它們儲存在乙個整型陣列中。當使用者輸入0時,表示輸入結束。然後程式將把這個陣列中的值按逆序重新存放,並列印出來。例如 假設使用者輸入了一組資料 7 19 5 6 2 0,那麼程式將會把前五個有效資料儲存在乙個陣列中,即7 19 5 6 2,然後...