生活随笔
收集整理的這篇文章主要介紹了
NYOJ 19
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
擅長(zhǎng)排列的小明
時(shí)間限制:
1000 ms ?|? 內(nèi)存限制:
65535 KB 難度:
4 描述
小明十分聰明,而且十分擅長(zhǎng)排列計(jì)算。比如給小明一個(gè)數(shù)字5,他能立刻給出1-5按字典序的全排列,如果你想為難他,在這5個(gè)數(shù)字中選出幾個(gè)數(shù)字讓他繼續(xù)全排列,那么你就錯(cuò)了,他同樣的很擅長(zhǎng)。現(xiàn)在需要你寫一個(gè)程序來(lái)驗(yàn)證擅長(zhǎng)排列的小明到底對(duì)不對(duì)。 輸入第一行輸入整數(shù)N(1<N<10)表示多少組測(cè)試數(shù)據(jù),
每組測(cè)試數(shù)據(jù)第一行兩個(gè)整數(shù) n m (1<n<9,0<m<=n)輸出在1-n中選取m個(gè)字符進(jìn)行全排列,按字典序全部輸出,每種排列占一行,每組數(shù)據(jù)間不需分界。如樣例樣例輸入 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;
}
?
總結(jié)
以上是生活随笔為你收集整理的NYOJ 19的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。