zoukankan      html  css  js  c++  java
  • 杭电1106

    WC:

    View Code
     1 #include<iostream>
     2 #include<string>
     3 #include<vector>
     4 #include<algorithm>
     5 using namespace std;
     6 
     7 string judge(string &s)
     8 {
     9     int i = 0;
    10     for(; i < s.size() && s[i] == '0'; ++i);
    11     string t(s.begin()+i, s.end());
    12     if(i == s.size())
    13         t = "0";
    14     s = t;
    15     return s;
    16 }
    17 void f(string& a, vector<string>& svec)
    18 {
    19     int beg, end;
    20     beg = 0;
    21     for(int i = 0; i < a.size(); ++i)
    22     {
    23         if(a[i] == '5')
    24         {
    25             string t(a.begin()+beg, a.begin()+i);
    26             svec.push_back(judge(t));
    27             while(a[i] == '5')
    28                 i++;
    29             beg = i;
    30         }
    31     }
    32     if(*(a.end()-1) != '5')
    33     {
    34         string t(a.begin()+beg, a.end());
    35         svec.push_back(judge(t));
    36     }
    37 }
    38 bool cmp(string a, string b)
    39 {
    40     int flag = true;
    41     if(a.size() != b.size())
    42         return a.size()<b.size();
    43     else
    44         return a<b;
    45 }
    46 
    47 void out(vector<string> s)
    48 {
    49     cout << s[0];
    50     for(int i = 1; i < s.size(); ++i)
    51         cout << " " << s[i];
    52     cout << endl;
    53 }
    54 int main()
    55 {
    56     string a;
    57     while(cin >> a)
    58     {
    59         vector<string> svec;
    60         f(a, svec);
    61         //out(svec);
    62         sort(svec.begin(), svec.end(), cmp);
    63         out(svec);
    64     }
    65     return 0;
    66 }

    没有考虑到555551这种情况:

    View Code
     1 #include<iostream>
     2 #include<string>
     3 #include<vector>
     4 #include<algorithm>
     5 using namespace std;
     6 
     7 string judge(string &s)
     8 {
     9     int i = 0;
    10     for(; i < s.size() && s[i] == '0'; ++i);
    11     string t(s.begin()+i, s.end());
    12     if(i == s.size())
    13         t = "0";
    14     s = t;
    15     return s;
    16 }
    17 void f(string& a, vector<string>& svec)
    18 {
    19     int beg, end;
    20     for(beg = 0; a[beg] == '5'; ++beg);//555551
    21     for(int i = beg+1; i < a.size(); ++i)
    22     {
    23         if(a[i] == '5')
    24         {
    25             string t(a.begin()+beg, a.begin()+i);
    26             svec.push_back(judge(t));
    27             while(a[i] == '5')
    28                 i++;
    29             beg = i;
    30         }
    31     }
    32     if(*(a.end()-1) != '5')
    33     {
    34         string t(a.begin()+beg, a.end());
    35         svec.push_back(judge(t));
    36     }
    37 }
    38 bool cmp(string a, string b)
    39 {
    40     int flag = true;
    41     if(a.size() != b.size())
    42         return a.size()<b.size();
    43     else
    44         return a<b;
    45 }
    46 
    47 void out(vector<string> s)
    48 {
    49     cout << s[0];
    50     for(int i = 1; i < s.size(); ++i)
    51         cout << " " << s[i];
    52     cout << endl;
    53 }
    54 int main()
    55 {
    56     string a;
    57     while(cin >> a)
    58     {
    59         vector<string> svec;
    60         f(a, svec);
    61         //out(svec);
    62         sort(svec.begin(), svec.end(), cmp);
    63         out(svec);
    64     }
    65     return 0;
    66 }
  • 相关阅读:
    部署至Oracle数据库的注意事项
    当在centos上面部署项目时,mysql的一些驱动安装不上,
    drf利用redis做缓存是发生一点错误提示
    python字符串前面加个u代表什么
    在学习数据分析时,安装anaconda时遇到一点问题
    在使用scrapy框架爬取sina时,常见保存
    在linux上scrapyd部署scrapy项目时出现service_identity,并且不能识别其中的一个opentype模块
    如何在mysql增加一个和root权限一样的用户,安排
    mysq的root密码忘记,原来还有更优雅的解法
    mysql远程连接阿里云的Ubuntu服务器
  • 原文地址:https://www.cnblogs.com/sanghai/p/2996572.html
Copyright © 2011-2022 走看看