生活随笔
收集整理的這篇文章主要介紹了
NYOJ 19
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
擅長排列的小明
時間限制:
1000 ms ?|? 內存限制:
65535 KB 難度:
4 描述
小明十分聰明,而且十分擅長排列計算。比如給小明一個數字5,他能立刻給出1-5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那么你就錯了,他同樣的很擅長。現在需要你寫一個程序來驗證擅長排列的小明到底對不對。 輸入第一行輸入整數N(1<N<10)表示多少組測試數據,
每組測試數據第一行兩個整數 n m (1<n<9,0<m<=n)輸出在1-n中選取m個字符進行全排列,按字典序全部輸出,每種排列占一行,每組數據間不需分界。如樣例樣例輸入 2
3 1
4 2 樣例輸出 1
2
3
12
13
14
21
23
24
31
32
34
41
42
43
#include <iostream>
using namespace std;
int n,m;
int vis[10] = {0},a[10];
void fun(int i)
{int j,k;if(i>m){int j;for(j=1; j<=m;j++)cout<<a[j];cout<<endl;}else{for(k=1; k<=n; k++){if(vis[k]==0){vis[k] = 1;a[i] = k;fun(i+1);vis[k] = 0;}}}
}
int main()
{int i,j,k,T;cin>>T;while(T--){cin>>n>>m;fun(1);}return 0;
}
?
總結
以上是生活随笔為你收集整理的NYOJ 19的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。