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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无棣县| 上高县| 黎城县| 株洲市| 保亭| 灵石县| 武邑县| 石渠县| 潼关县| 湖口县| 区。| 蓬莱市| 美姑县| 温泉县| 陇西县| 天柱县| 太白县| 翁源县| 乌鲁木齐市| 凌源市| 新郑市| 阿巴嘎旗| 无为县| 鄯善县| 筠连县| 阳高县| 新巴尔虎左旗| 林州市| 通化市| 吴川市| 鹿泉市| 南陵县| 永川市| 万宁市| 班玛县| 屏南县| 永宁县| 九寨沟县| 错那县| 武乡县| 夹江县|