• 贪心 Codeforces Round #300 A Cutting Banner


    题目传送门

     1 /*
     2     贪心水题:首先,最少的个数为n最大的一位数字mx,因为需要用1累加得到mx,
     3             接下来mx次循环,若是0,输出0;若是1,输出1,s[j]--;
     4     注意:之前的0的要忽略
     5 */
     6 #include <cstdio>
     7 #include <iostream>
     8 #include <cstring>
     9 #include <string>
    10 #include <algorithm>
    11 #include <cmath>
    12 #include <set>
    13 #include <map>
    14 using namespace std;
    15 
    16 const int MAXN = 1e4 + 10;
    17 const int INF = 0x3f3f3f3f;
    18 
    19 int main(void)        //Codeforces Round #300 A Cutting Banner
    20 {
    21     //freopen ("B.in", "r", stdin);
    22 
    23     char s[10];
    24     while (scanf ("%s", &s) == 1)
    25     {
    26         int len = strlen (s);
    27         int mx = -1;
    28         for (int i=0; i<len; ++i)    mx = max (mx, s[i] - '0');
    29 
    30         printf ("%d
    ", mx);
    31         for (int i=1; i<=mx; ++i)
    32         {
    33             bool ok = false;
    34             for (int j=0; j<len; ++j)
    35             {
    36                 if (s[j] == '0')
    37                 {
    38                     if (!ok)    continue;
    39                     else    printf ("0");
    40                 }
    41                 else
    42                 {
    43                     ok = true;
    44                     printf ("1");    s[j]--;
    45                 }
    46             }
    47             if (i < mx)    printf (" ");
    48         }
    49         puts ("");
    50     }
    51 
    52     return 0;
    53 }
    编译人生,运行世界!
  • 相关阅读:
    10月6日动手动脑
    10月5日
    SQL
    bug 对应
    @OneToMany
    SQL Constraints
    SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
    子父表
    取字符串
    SQL中MAX()
  • 原文地址:https://www.cnblogs.com/Running-Time/p/4461265.html
Copyright © 2020-2023  润新知