hdu1716(库函数next_permutation)
题目意思:
现有四张卡片,用这四张卡片能排列出非常多不同的4位数,要求按从小到大的顺序输出这些4位数。
注意首位没有前导0
pid=1716">http://acm.hdu.edu.cn/showproblem.php? pid=1716
题目分析:
库函数next_permutation()应用,直接调用库函数,输出时注意前导0,和空格。祥见代码
AC代码:
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int a[4],ok=0;
cin>>a[0]>>a[1]>>a[2]>>a[3];
while(1){
if(a[0]+a[1]+a[2]+a[3]==0) break;
sort(a,a+4);//排序
int k=a[0];
if(a[0]!=0) cout<<a[0]<<a[1]<<a[2]<<a[3];
while(next_permutation(a,a+4)){
if(a[0]==k&&a[0]!=0) cout<<" "<<a[0]<<a[1]<<a[2]<<a[3];
else{
if(a[0]!=0){
if(k!=0) cout<<endl;//换行
cout<<a[0]<<a[1]<<a[2]<<a[3];
}
k=a[0];
}
}
cout<<endl;
cin>>a[0]>>a[1]>>a[2]>>a[3];//仅仅有下次不退出才换行
if(a[0]+a[1]+a[2]+a[3]!=0) cout<<endl;
}
return 0;
}
最新文章
- WPF入门:数据绑定
- jmeter 运行多个sql
- .net与数据库知识点
- UIAlertController 标题文字大小 颜色
- 浅析for in 和for的区别
- HTTP1.0和HTTP1.1的主要区别是
- Crystal Reports 支持的纸张种类
- cmd命令 chcp
- hadoop数据流转过程分析
- SVN 代码下载,上传
- RandomAccessFile实时读取大文件(转)
- leetcode — word-ladder-ii
- 这段代码,c 1秒,java 9秒,c# 14秒,而python。。。
- SliverList , SliverFixedExtentList
- 第34 memcached缓存
- vue-自定义全局键盘码
- 70部MAYA灯光材质渲染教程合集
- MYSQL查询重复记录的方法
- SWIFT Tuple Pattern及Struct Pattern
- 【洛谷】【堆】P1801 黑匣子_NOI导刊2010提高(06)