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

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

NYOJ-19

2019-11-11 00:26:09
字體:
來源:轉載
供稿:網友

擅長排列的小明

時間限制:1000 ms  |  內存限制:65535 KB難度:4描述小明十分聰明,而且十分擅長排列計算。比如給小明一個數字5,他能立刻給出1-5按字典序的全排列,如果你想為難他,在這5個數字中選出幾個數字讓他繼續全排列,那么你就錯了,他同樣的很擅長?,F在需要你寫一個程序來驗證擅長排列的小明到底對不對。輸入第一行輸入整數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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博爱县| 杭锦旗| 弋阳县| 循化| 黄浦区| 白城市| 赤壁市| 阿合奇县| 西乌珠穆沁旗| 通江县| 阿拉尔市| 周宁县| 广德县| 穆棱市| 扎赉特旗| 文水县| 容城县| 镇雄县| 色达县| 新干县| 都匀市| 曲阜市| 金山区| 安乡县| 都安| 上犹县| 同仁县| 龙南县| 五莲县| 琼结县| 深州市| 开阳县| 凤山市| 山东| 古交市| 阿荣旗| 金堂县| 遂昌县| 商都县| 商城县| 吉林省|