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 }

     

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    win7最新版下载与密钥 | Win7用户福音:微软集成更新的新版Windows 7镜像泄露
    迅捷PDF编辑器 v2.1.0.1 中文免费版
    解决移动网络无法访问胡萝卜周网站(www.carrotchou.blog)
    vue启动流程
    vue--综合组件间的通信
    网络请求
    vue环境搭建
    vue--路由嵌套
    vue路由高级用法
    vue-router实现组件间的跳转---参数传递
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11582086.html
Copyright © 2011-2022 走看看