题目意思:

现有四张卡片,用这四张卡片能排列出非常多不同的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;

}

最新文章

  1. WPF入门:数据绑定
  2. jmeter 运行多个sql
  3. .net与数据库知识点
  4. UIAlertController 标题文字大小 颜色
  5. 浅析for in 和for的区别
  6. HTTP1.0和HTTP1.1的主要区别是
  7. Crystal Reports 支持的纸张种类
  8. cmd命令 chcp
  9. hadoop数据流转过程分析
  10. SVN 代码下载,上传
  11. RandomAccessFile实时读取大文件(转)
  12. leetcode — word-ladder-ii
  13. 这段代码,c 1秒,java 9秒,c# 14秒,而python。。。
  14. SliverList , SliverFixedExtentList
  15. 第34 memcached缓存
  16. vue-自定义全局键盘码
  17. 70部MAYA灯光材质渲染教程合集
  18. MYSQL查询重复记录的方法
  19. SWIFT Tuple Pattern及Struct Pattern
  20. 【洛谷】【堆】P1801 黑匣子_NOI导刊2010提高(06)

热门文章

  1. codevs1222 信与信封问题
  2. Mock实现模拟python的对象
  3. LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)
  4. ThinkPHP3.2.3扩展之自动分词获取关键字
  5. 使用protobuf传递网络消息
  6. 消除svn选定(checkout)桌面上文件显示一大堆问号。
  7. (转)用JS实现表格中隔行显示不同颜色
  8. animation与transition的简单讲述
  9. Beta冲刺-星期四
  10. 时序分析:KMP算法用于序列识别