国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

NYOJ-19

2019-11-11 01:51:30
字體:
來源:轉載
供稿:網友

擅長排列的小明

時間限制:1000 ms  |  內存限制:65535 KB難度:4描述小明十分聰明,而且十分擅長排列計算。比如給小明一個數字5,他能立刻給出1-5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那么你就錯了,他同樣的很擅長。現在需要你寫一個程序來驗證擅長排列的小明到底對不對。輸入第一行輸入整數N(1<N<10)表示多少組測試數據,每組測試數據第一行兩個整數 n m (1<n<9,0<m<=n)輸出在1-n中選取m個字符進行全排列,按字典序全部輸出,每種排列占一行,每組數據間不需分界。如樣例樣例輸入
23 14 2樣例輸出
123121314212324313234414243

解題思路:

本題主要考全排列的解決代碼,但最好的便是運用c++的STL中的next_permutation()函數,本人將全排列的代碼及思路寫在上一篇博客中了,有興趣可以看一下http://blog.csdn.net/chenyang890/article/details/54915242

本題代碼

#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;int main(){    int T;    cin>>T;    while(T--)    {        int n,m;        string s1,s2;        cin>>n>>m;        for(int i=1;i<=n;i++)            s1+='0'+i;        s2=s1.substr(0,m);        cout<<s2<<endl;        while(next_permutation(s1.begin(),s1.end()))        {            if(s2!=s1.substr(0,m))            {                s2=s1.substr(0,m);                cout<<s2<<endl;            }        }    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济源市| 四子王旗| 乡城县| 宿迁市| 格尔木市| 潞西市| 夏津县| 盘山县| 玛沁县| 巩留县| 松江区| 青田县| 通山县| 安徽省| 漾濞| 张北县| 合作市| 若尔盖县| 手机| 齐河县| 阳原县| 铜陵市| 浠水县| 鄂州市| 伊宁县| 阜城县| 凭祥市| 常州市| 安塞县| 台东市| 抚顺县| 镇江市| 石楼县| 合阳县| 锦州市| 九江市| 兴业县| 元阳县| 新晃| 武隆县| 仲巴县|