NYOJ--STL--擅长排列的小明

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

";

int main()
{
int n;
cin >> n;
while(n--)
{
int n,m;
cin >> n >> m;
,m);
cout << output << endl;

string::iterator i=a.begin();
while(next_permutation(i,i+n))
{
,m) == output ))
{
output = a.substr(,m);
cout << output << endl;
}
}
}
system("pause");
;
}

函数next_permutation,可以遍历全排列,要包含头文件<algorithm>与之完全相反的函数还有prev_permutation,next函数默认的是从小到大的顺序,pre函数默认的是从大到小的顺序

int main()

{

int a[3];

a[0]=1;a[1]=2;a[2]=3;

do

{

cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;

} while (next_permutation(a,a+3)); //参数3指的是要进行排列的长度



//如果存在a之后的排列,就返回true。如果a是最后一个排列没有后继,返回false,每执行一次,a就变成它的后继





}



输出:



1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1





如果改成 while(next_permutation(a,a+2));

则输出:

1 2 3

2 1 3



只对前两个元素进行字典排序

显然,如果改成 while(next_permutation(a,a+1)); 则只输出:1 2 3







若排列本来就是最大的了没有后继,则next_permutation执行后,会对排列进行字典升序排序,相当于循环



int list[3]={3,2,1};

next_permutation(list,list+3);

cout<<list[0]<<" "<<list[1]<<" "<<list[2]<<endl;



//输出: 1 2 3

NYOJ--STL--擅长排列的小明(强大的string :: iterator 和next_permutation)的更多相关文章

  1. nyoj 19擅长排列的小明 (DFS)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...

  2. NYOJ 469 擅长排列的小明 II

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1, ...

  3. nyoj 19 擅长排列的小明(深搜,next_permutation)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...

  4. nyist oj 19 擅长排列的小明(dfs搜索+STL)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 小明十分聪明.并且十分擅长排列计算.比方给小明一个数字5,他能立马给出1-5按字典序的全排列,假设你想 ...

  5. nyoj 题目19 擅长排列的小明

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...

  6. nyoj 19-擅长排列的小明(STL-next_permutation())

    19-擅长排列的小明 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:10 submit:16 题目描述: 小明十分聪明,而且十分擅长排列计算.比如给 ...

  7. ACM 擅长排列的小明

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...

  8. 擅长排列的小明 II(找规律)

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2, ...

  9. nyoj_19_擅长排列的小明_201403011600

    擅长排列的小明时间限制:1000 ms  |  内存限制:65535 KB 难度:4描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他, ...

  10. NYOJ--19--next_permutation()--擅长排列的小明

    /* Name: NYOJ--19--擅长排列的小明 Date: 20/04/17 11:06 Description: 这道题可以DFS,然而用next_permutation更简单些 主要是全排列 ...

随机推荐

  1. Yii 中出现“<?= ... ?>”是什么意思?

    这是php的标签,和<?php ?>一样的.用<?= ?> 就不用echo,否则你要输出的话,需要加上echo词汇输出.这个就是用在模板里面方便点.

  2. 去掉CI框架默认url中的index.php

    1:.htaccess //放置在根目录下,和入口文件index.php的同级目录<IfModule mod_rewrite.c>RewriteEngine onRewriteCond % ...

  3. js原生获取className&多选一

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 新技能get√10个PS加速小技巧让你的PS不再卡

    如果你在处理较大尺寸的图片.使用像HDR.图像合成或者3D和视频等类似的功能,优化Photoshop的性能是非常关键的.这篇文章中,我会为大家介绍几种提高Photoshop性能的建议,使其在你的电脑上 ...

  5. Linux10分钟入门

    最近打算考红帽认证,将自己学习到的和工作中常用的一些命令进行总结,供初学者和一定基础的参考. 想系统性学习的话,还是建议看书(鸟哥的Linux私房菜)和看视频(基础版,推荐马哥和老男孩,不推荐**** ...

  6. 2017寒假零基础学习Python系列之函数之 定义默认参数

    在定义函数时,可以有默认参数例如Python自带的函数int(),其实就是两个参数,我们既可以传一个参数,又可以传两个参数 int(') >>>123 int(',8) 83 int ...

  7. springmvc+mybatis 做分页sql 语句

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-// ...

  8. Python数据分析之路(一)查询和统计

    0. 如何入门数据分析 关注沙漠之鹰的同学一定看过沙漠君写得很多篇数据分析文章,比如分析房价,车价,预测机动车摇号这些话题.其实文章中所有的分析都使用了Python和它非常强大的数据分析库Pandas ...

  9. Watson Explorer Analytical Components 3 - use case scenarios

    The followings are the user case scenarios that WEX can be used for generating value. 1.Customer Ins ...

  10. centos7使用cobbler(2.8)批量部署操作系统之一

    一.    批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...