zoukankan      html  css  js  c++  java
  • 【PAT甲级】1038 Recover the Smallest Number (30 分)

    题意:

    输入一个正整数N(<=10000),接下来输入N个字符串,每个字符串包括至多8个字符,均为数字0~9。输出由这些字符串连接而成的最小数字(不输出前导零)。

    trick:

    数据点0只包含没有0的串。

    数据点2,5,6包含最小串全部为0且次小串含有前导零的数据。

    如果所有的数字均为0,输出一个0即可。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 string s[10007];
     5 bool cmp(string a,string b){
     6     string c=a+b;
     7     string d=b+a;
     8     int posc=0;
     9     while(c[posc]=='0')
    10         ++posc;
    11     int posd=0;
    12     while(d[posd]=='0')
    13         ++posd;
    14     if(posc>posd)
    15         return 1;
    16     else if(posc<posd)
    17         return 0;
    18     else{
    19         if(c<d)
    20             return 1;
    21         else
    22             return 0;
    23     }
    24 }
    25 int main(){
    26     ios::sync_with_stdio(false);
    27     cin.tie(NULL);
    28     cout.tie(NULL);
    29     int n;
    30     cin>>n;
    31     for(int i=1;i<=n;++i)
    32         cin>>s[i];
    33     sort(s+1,s+1+n,cmp);
    34     int posi=0,posj=0,flag=0;
    35     for(int i=1;i<=n;++i){
    36         for(int j=0;j<s[i].size();++j)
    37             if(s[i][j]!='0'){
    38                 flag=1;
    39                 posi=i;
    40                 posj=j;
    41                 break;
    42             }
    43         if(flag)
    44             break;
    45     }
    46     if(!flag)
    47         cout<<0;
    48     else{
    49         for(int j=posj;j<s[posi].size();++j)
    50             cout<<s[posi][j];
    51         for(int i=posi+1;i<=n;++i)
    52             for(int j=0;j<s[i].size();++j)
    53                 cout<<s[i][j];
    54     }
    55     return 0;
    56 }

     

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    使用vue来开发一个下拉菜单组件(2)
    使用vue来开发一个下拉菜单组件(1)
    在Vue中引入Bootstrap,Font-awesome
    九宫格表格样式
    web upload 上传多张图片实例
    input 的multiple 上传多个文件
    常用 验证码 JS 代码
    最全 H5 form 表单 + 正则验证
    mysql的指令
    Ant编译MapReduce程序
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11582086.html
Copyright © 2011-2022 走看看