题意:

  输入一个序列,每个数字小于16,序列元素个数小于9. 要求将这个序列所有可能出现的顺序输出,而且要字典序。

思路:

  先排序,输出该升序序列,再用next_permutation进行转变即可,它会调整一次序列,并且字典序是比传入的序列要大一些,也就是离传入序列字典序最近的序列。

 #include <bits/stdc++.h>
using namespace std;
const int N=;
char has[]={'','','','','','','','','','','A','B','C','D','E','F'};
char a[N];
void print(char x)
{
printf("%c ",x);
}
int main()
{ //freopen("input.txt", "r", stdin);
int n;
while(cin>>n)
{
int tmp;
for(int i=; i<n; i++)
{
scanf("%d",&tmp);
a[i]=has[tmp];
} sort(a,a+n);
for_each(a,a+n-,print);
printf("%c\n",a[n-]); while( next_permutation(a,a+n))
{
for_each(a,a+n-,print);
printf("%c\n",a[n-]);
}
}
return ;
}

AC代码

NBUT 1119 Patchouli's Books (STL应用)的更多相关文章

  1. c++ STL 学习记录 草稿。

    非常丑陋的尝试实现stl.慢慢修改吧. 1)简单实现 vector和list. 2)思索如何开始编写算法. 1,所有容器继承一个抽象容器.那么算法就可以使用抽象基类的next方法来遍历元素. 容器间耦 ...

  2. UVa230 Borrowers (STL)

     Borrowers  I mean your borrowers of books - those mutilators of collections, spoilers of the symmet ...

  3. 2013.7.19 STL库的学习

    STL提供了一组表示容器,迭代器,函数对象和算法的模板. 容器是一个与数组类似的单元,可以存储若干个值.容器是同质的,即存储的值的类型一样. 算法是完成特定任务的处方. 迭代器能够用来遍历容器的对象, ...

  4. STL常用遍历算法for_each和transform的比较

    for_each()和transform()算法比较 1)STL 算法 – 修改性算法  for_each()  copy()  copy_backward()  transform()  merge ...

  5. STL语法——集合:set 安迪的第一个字典(Andy's First Dictionary,UVa 10815)

    Description Andy, , has a dream - he wants to produce his very own dictionary. This is not an easy t ...

  6. UVA - 10815 - Andy's First Dictionary STL

    Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for him ...

  7. STL之父Stepanov谈泛型编程的发展史

    这是一篇Dr. Dobb's Journal对STL之父stepanov的采访.文中数次提到STL的基本思想.语言的特性.编程的一些根本问题等,非常精彩.这篇文章让我想去拜读下stepanov的大作& ...

  8. STL经常使用遍历算法for_each和transform的比較

    for_each()和transform()算法比較 1)STL 算法 – 改动性算法  for_each()  copy()  copy_backward()  transform()  merge ...

  9. C++_标准模板库STL概念介绍3-函数对象

    函数对象也叫做函数符(functor). 函数符是可以以函数方式和( )结合使用的任意对象. 包括函数名,指向函数的指针,重载了()运算符的类对象. 可以这样定义一个类: class Linear { ...

随机推荐

  1. Linux : Linux命令

    接触linux一段时间了,在网上搜罗了一些命令,以备后用.我有点爱上Linux了. 来自 :http://www.php100.com/html/webkaifa/Linux/2009/1106/34 ...

  2. stdout引发的curl 302跳转 crash

    重现步骤: 0.开发环境:Windows 7 SP1 64bit, VS2008 SP1 1.进程中修改了stdout这个句柄的值:调用了prinft和cout都会修改stdout,TRACE不会修改 ...

  3. 怎样通过计算机ip地址访问sql server 2008数据库

      在设置外网访问SQL2008数据库之前,首先必须保证局域网内访问SQL2008没有问题 .那么,我们先来看看局域网内访问SQL2008数据库需要哪些步骤和设置,才能做到在局域网内任何一台机器上输入 ...

  4. Hearthstone

    题意: 有$n$个无中生有,有$m$个不同的杀,第$i$个杀掉$X_i$滴血,敌人血量$P$,求问第一回合就将敌人杀死的概率是多少. 解法: 二进制枚举$A$类,$B$类卡的顺序,这样就确定了取了几个 ...

  5. no more URLs to fetch

    Generator: records selected for fetching, exiting ... Stopping at depth= - no more URLs to fetch. 出现 ...

  6. shell的split生成的文件按规律命名及添加扩展名

    可以参考 用shell切分文件--split shell下的split命令主要用于分割一些大文件用的,比如经常要用到将一个几十万行的TXT分割为多少行一个的文件,非常有用,唯一坑爹的是,切割后的文件不 ...

  7. Flutter实战视频-移动电商-52.购物车_数据模型建立和Provide修改

    52.购物车_数据模型建立和Provide修改 根据json数据生成模型类 {,"price":830.0,"images":"http://imag ...

  8. Fitnesse + Xebium环境搭建

    1.在搭建Fitnesse + Xebium环境之前先将selenium基础环境搭建完成并调试成功 参照:http://www.cnblogs.com/moonpool/p/5480724.html ...

  9. 删除链表中的倒数第n个元素

    示例: 输入链表:1->2->3->4->5 , 2 输出:1->2->3->5 Python解决方案1: # Definition for singly-l ...

  10. Weekly Contest 78-------->810. Chalkboard XOR Game

    We are given non-negative integers nums[i] which are written on a chalkboard.  Alice and Bob take tu ...