国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中宁县| 于田县| 江孜县| 普兰店市| 嫩江县| 尼勒克县| 阿克陶县| 通江县| 博兴县| 莱州市| 石楼县| 壶关县| 靖江市| 开平市| 龙江县| 外汇| 汉中市| 增城市| 策勒县| 嘉黎县| 灵山县| 永丰县| 湟中县| 申扎县| 高阳县| 广元市| 西乌珠穆沁旗| 敦煌市| 伊金霍洛旗| 五华县| 当雄县| 田东县| 从化市| 太和县| 凤台县| 武宣县| 陵川县| 诸暨市| 甘南县| 高尔夫| 大兴区|