擅長排列的小明

2021-06-29 16:38:20 字數 932 閱讀 7001

時間限制:

1000 ms | 記憶體限制:

65535 kb

難度:4

描述

小明十分聰明,而且十分擅長排列計算。比如給小明乙個數字5,他能立刻給出1-5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那麼你就錯了,他同樣的很擅長。現在需要你寫乙個程式來驗證擅長排列的小明到底對不對。

輸入第一行輸入整數n(1輸出

在1-n中選取m個字元進行全排列,按字典序全部輸出,每種排列佔一行,每組資料間不需分界。如樣例

樣例輸入

2

3 14 2

樣例輸出

123

1213

1421

2324

3132

3441

4243

//解法的用意是所有數的全排列的前m個數也包括了n個數中抽取m個數的全排列。

next_permutation函式              功能是輸出所有比當前排列大的排列,順序是從小到大,與之相對的還有乙個prev_permutation函式;

而prev_permutation()函式功能是輸出所有比當前排列小的排列,順序是從大到小。

#include#include#include#includeusing namespace std;

int main()

{ int n,n,m;

cin>>n;

while(n--){

cin>>n>>m;

string s1,s2;

for(int i =1;i <=n;i++)

s1+=('0'+i);

s2=s1.substr(0,m);

cout<

擅長排列的小明

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 小明十分聰明,而且十分擅長排列計算。比如給小明乙個數字5,他能立刻給出1 5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那麼你就錯了,他同樣的很擅長。現在需要你寫乙個程式來驗證擅長排列的小明到底對...

擅長排列的小明

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 小明十分聰明,而且十分擅長排列計算。比如給小明乙個數字5,他能立刻給出1 5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那麼你就錯了,他同樣的很擅長。現在需要你寫乙個程式來驗證擅長排列的小明到底對...

擅長排列的小明

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 小明十分聰明,而且十分擅長排列計算。比如給小明乙個數字5,他能立刻給出1 5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那麼你就錯了,他同樣的很擅長。現在需要你寫乙個程式來驗證擅長排列的小明到底對...