排列问题(这个格式我也是无语了)
来源:互联网 发布:医院药房软件系统 编辑:程序博客网 时间:2024/05/22 06:50
题目:
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){// freopen("in.txt","r",stdin);// freopen("out.txt","w",stdout); int a[5],i,qq=0; while(~scanf("%d%d%d%d",&a[0],&a[1],&a[2],&a[3])) { if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0) return 0; else { if(qq==1) printf("\n"); qq=1; sort(a,a+4); int tmp; if(a[0]!=0) printf("%d%d%d%d",a[0],a[1],a[2],a[3]); else { i=1; while(a[i]==0) { ++i; } swap(a[0],a[i]); printf("%d%d%d%d",a[0],a[1],a[2],a[3]); } int q=a[0]; while(next_permutation(a,a+4)) { if(a[0]==0) continue; tmp=a[0]; if(q==tmp) printf(" %d%d%d%d",a[0],a[1],a[2],a[3]); else printf("\n%d%d%d%d",a[0],a[1],a[2],a[3]); q=a[0]; }printf("\n"); } } return 0;}由于杭电崩溃了,所以还没有提交,但感觉上应该是可以过的,这里面我学到一个全排列的函数,next_premutation(字典序是从小到大排序的,输出比当前字典序大的序列)prev_premutation(字典序是从大到小序的,就是输出比当前字典序小的序列),这个函数是返回真假的,就这样,还有就是这个题目的格式有点变态,超出了我的理解,它说的隔一个行是结果单纯的隔一行,而不是别的啥的,我对这道题目有很大的异议。(其实这个格式的问题也是一个·很大的问题啊)。
0 0
- 排列问题(这个格式我也是无语了)
- 看到这个图片,我无语了!
- 我也是blogger了
- 我无语了
- 我也是上班一族了
- 我需要这个格式记录
- oracle 无监听程序 问题解决 我遇到了N+1回了 就靠这个解决了
- 我也是有博的人了。
- 我也是csdn的一员了
- 我对自己无语了
- Tx 360 我无语了
- 360云盘我无语了
- 飘零无影 <--------------我喜欢这个网名..
- SUSE Linux 修改了websphere 的编码格式为gbk后 对中文的支持也是有问题的解决办法
- 字符串的全排列问题(一)——无重复出现字符的排列
- 我被这个小家伙震撼了!(猥琐,慎进!)
- 我竟然被骗了,原来我也是个好人
- 我开始搞搞我这个博客了!
- C++模板
- CocoaPods版本库管理工具的安装和使用教程
- Shell脚本实践笔记-备份数据库
- JAVA之使用JDBC连接数据库-使用微软sqljdbc连接SQL Server 2005数据库
- Android中的布局属性
- 排列问题(这个格式我也是无语了)
- URI与URL、URN区别
- android的程序锁
- hadoop学习之HDFS(2):CentOS7安装完全分布式hadoop-2.7.2
- z-index属性的总结
- 删除CentOS更新后,启动项上多余的内核
- Linux kernel -- 内核对象kobject
- BZOJ3714 [PA2014]Kuglarz
- 二维背包问题 + 代码模板