排列2

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5870    Accepted Submission(s): 2249

Problem Description
Ray又对数字的列产生了兴趣:
现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。
Input
每组数据占一行,代表四张卡片上的数字(0<=数字<=9),如果四张卡片都是0,则输入结束。
Output
对每组卡片按从小到大的顺序输出所有能由这四张卡片组成的4位数,千位数字相同的在同一行,同一行中每个四位数间用空格分隔。
每组输出数据间空一行,最后一组数据后面没有空行。
Sample Input
1 2 3 4 1 1 2 3 0 1 2 3 0 0 0 0
Sample Output
1234 1243 1324 1342 1423 1432 2134 2143 2314 2341 2413 2431 3124 3142 3214 3241 3412 3421 4123 4132 4213 4231 4312 43211123 1132 1213 1231 1312 1321 2113 2131 2311 3112 3121 32111023 1032 1203 1230 1302 1320 2013 2031 2103 2130 2301 2310 3012 3021 3102 3120 3201 3210

全排列问题,由于深搜比较难写,用了stl里边的next_permutation,这个函数比较6,直接就全排列了。

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int ac[25],i,j,k,l,m,n,a,b,c,d,ans[25];
int main()
{int flag=0;while(scanf("%d%d%d%d",&a,&b,&c,&d),a+b+c+d){if(flag++)//由于说最后一行输出后没有空行,只能从开始做手脚 printf("\n");ac[1]=a;ac[2]=b;ac[3]=c;ac[4]=d;sort(ac+1,ac+5);n=ac[1]*1000+ac[2]*100+ac[3]*10+ac[4];ans[0]=n;int cnt=1;while(next_permutation(ac+1,ac+5)){n=ac[1]*1000+ac[2]*100+ac[3]*10+ac[4];ans[cnt]=n;cnt++;}sort(ans,ans+cnt);for(i=0;i<cnt-1;i++){if(ans[i]/1000){printf("%d",ans[i]);if(ans[i]/1000==ans[i+1]/1000)printf(" ");elseprintf("\n");}}printf("%d\n",ans[i]);}return 0;
} 

杭电1716排列2 stl相关推荐

  1. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

  2. 杭电OJ分类题目(1)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(1) HDU Introduction HDU ...

  3. 杭电ACM(HDUOJ)试题分类

    杭电ACM试题分类 第一篇 1001 这个就不用说了吧                      1002 简单的大数                            1003 DP经典问题,最 ...

  4. 杭电acm第2304题答案c语言,【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...

  5. 杭电ACM题目类型整理

    版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...

  6. 2022杭电多校(五)

    2022杭电多校(五) 文章目录 2022杭电多校(五) 一.比赛小结 二.题目分析及解法(基础题) 1003.Slipper 1006.BBQ 1007.Count Set 1010.Braggin ...

  7. 杭州电子科技大学-杭电信标一队

    第一章 引言 全国大学生智能汽车竞赛是一项面向全国大学生以智能汽车为研究对象的科技竞赛,以"立足培养,重在参与,鼓励探索, 追求卓越"为指导思想.比赛形式有信标组.创意组等多种. ...

  8. 杭电1430康托 bfs(java)

    魔板: Problem Description 在魔方风靡全球之后不久,Rubik先生发明了它的简化版--魔板.魔板由8个同样大小的方块组成,每个方块颜色均不相同,可用数字1-8分别表示.任一时刻魔板 ...

  9. 杭电2062java实现

    问题描述 考虑总= { 1,2,-,n }.例如,A1 = { 1 },A3 = { 1,2,3 }.子集序列被定义为非空子集的数组.对词典编纂顺序中的所有子集进行排序.你的任务是找到第m个. 输入 ...

最新文章

  1. Linux 播放网易云音乐(树莓派)
  2. 地图上制作线路的动画_魔兽争霸重制版不只是表面上这么简单,新版编辑器制作地图更容易...
  3. Nginx负载均衡记录
  4. Zynq-7000系统公共资源及特性
  5. (转)__declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定
  6. 补丁分发 linux,patch 命令应用补丁
  7. 阿里云服务器CentOS6.9安装jenkins
  8. 大乐透python预测程序_Python生成随机验证码,大乐透号码
  9. 如何利用URLOS和云存储打造一个不惧怕宕机的网站环境
  10. SpringCloud工作笔记070---SpringCloud中使用Redis存储List类型数据
  11. 如何bat清楚谷歌浏览器缓存_如何解决谷歌浏览器启动页面被篡改?
  12. css表示屏幕宽度和高度
  13. FLEX与JAVA不通讯错误与解决方法(转)
  14. atitit 知识压缩的总结 学习方法总结v2 t55.docx 目录 1.1. 压缩目的 1 1.2. 压缩分类 无损压缩 有损压缩 1 2. 功能指标 2 2.1. 压缩比:有损压缩一般1
  15. 怎样用52单片机做计算机,利用串口小助手实现AT89S52单片机简易计算器完整程序(Keil)...
  16. 使用stm32控制驱动步进电机
  17. 前端使用vux中md5加密方法
  18. 删除linux 中压缩文件
  19. c# wifi串口通信_C#中的串口通信
  20. 【第29题】有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数

热门文章

  1. pytorch教程之nn.Module类详解——使用Module类来自定义网络层
  2. 数据流程图 符号说明
  3. 08_提升方法Boosting1_统计学习方法
  4. shell 整理(36)===写斐波那契数列
  5. kill killall pkill 的区别
  6. 搭建局域网HTTP FTP服务
  7. 「SF图片上传不清晰」解决方案
  8. 把杀某程序封装成sh
  9. .htaccess使用说明
  10. 如何控制修改UIWebView中的UIScrollView