zoukankan      html  css  js  c++  java
  • PAT-乙级-1023. 组个最小数 (20)

    1023. 组个最小数 (20)

    时间限制
    100 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CAO, Peng

    给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。

    现给定数字,请编写程序输出能够组成的最小的数。

    输入格式:

    每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。

    输出格式:

    在一行中输出能够组成的最小的数。

    输入样例:
    2 2 0 0 0 3 0 0 1 0
    
    输出样例:
    10015558
    只是看起来有点麻烦。。。
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int num,a[10];
     6     for(int i=0; i<10; i++)
     7     {
     8         cin>>num;
     9         a[i]=num;
    10     }
    11     if(a[0]==0)
    12     {
    13         for(int i=0; i<10; i++)
    14         {
    15             if(a[i]!=0)
    16                 for(int j=0; j<a[i]; j++)
    17                 {
    18                     printf("%d",i);
    19                 }
    20         }
    21     }
    22     else
    23     {
    24         for(int i=1; i<10; i++)
    25         {
    26             if(a[i]!=0)
    27             {
    28                 printf("%d",i);
    29                 a[i]--;
    30                 break;
    31             }
    32         }
    33         for(int i=0; i<a[0]; i++)
    34             printf("0");
    35         for(int i=1; i<10; i++)
    36         {
    37             if(a[i]!=0)
    38                 for(int j=0; j<a[i]; j++)
    39                     printf("%d",i);
    40         }
    41     }
    42     printf("
    ");
    43     return 0;
    44 }
    我会一直在
  • 相关阅读:
    ubutun Sogou输入法安装
    git的使用
    比较字符串(包含以及变位词)
    python 与时间有关的操作
    PyBrain库的example之NFQ流程图分析
    python之面向对象(继承)
    C/C++中一些不太注意到的小知识点--[锦集]
    python 有关引用的一些问题
    CMake尝鲜
    vim初探
  • 原文地址:https://www.cnblogs.com/zhien-aa/p/5660475.html
Copyright © 2011-2022 走看看