• csu 10月 月赛 J 题


    Description

    CSU又到了一年中评奖学金的时候了……各大学霸都或多或少地拿到了各种奖学金(你们自己看着办吧)。

    在这里,评奖学金有个很奇怪的规矩——每个同学得到的奖学金数一定满足相邻的两个非零数位上的数字不相等(奖学金都是非负整数,如果一个同学没有得到奖学金,我们也可以认为学校发给ta的奖学金为0)。

    然而,如果你问这里的孩子拿了多少奖学金,ta不会直接告诉你拿到了多少奖学金,而会告诉你ta拿到的奖学金数大于某一个整数X。同时为了不产生歧义,ta所说的那个数和ta所拿到的那个奖学金数目之间不会存在任何一个数满足学校发奖的规矩。

    现在你已经知道了每个同学说的那个整数X,你能确切地说出每个同学得到了多少奖学金吗?

    Input

    一组测试数据。

    第一个数N,表示接下来有N个同学告诉了你ta的获奖信息(N<10000) 

    接下来每行一个整数X,表示一名同学所说的那个整数X。(X不超过int范围)

    Output

    总共N行,每行一个数,表示该同学拿到了多少奖学金。

    题目保证每个同学实际拿到的奖学金数目不会超过10 ^8。(Orz,学霸啊)

    Sample Input

    5 1 10 20 98 15995112

    Sample Output

    2 12 21 100 16000000

    HINT

     对于64位整形,请用%lld,或者cin,cout。T_T


    CSU_LQ

    今天的水题特别多,我们A了6题,不错,纪念下;

    这也是个水题,纯模拟;

    这个题稍微有点繁琐,为了锻炼自己的逻辑,还是硬着头皮敲了遍;

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 using namespace std;
     4 char s[20];
     5 int l,t,ce;
     6 bool flag,ff;
     7 int check()
     8 {
     9     for(int i=1; i<l; i++)if(s[i]!='0'&&s[i]==s[i-1])return i;
    10     return 0;
    11 }
    12 void add(int ce)
    13 {
    14     s[ce]++;
    15     while(s[ce]>'9')
    16     {
    17         if(ce==0)
    18         {
    19             flag=1;
    20             s[ce]='0';
    21             break;
    22         }
    23         s[ce]='0';
    24         s[--ce]++;
    25     }
    26 }
    27 int main()
    28 {
    29     scanf("%d",&t);
    30     while(t--)
    31     {
    32         scanf("%s",&s);
    33         if(s[0]=='-'){puts("0");continue;}
    34         l=strlen(s);
    35         flag=0,ff=1;
    36         add(l-1);
    37         if(l>1)while(1)
    38             {
    39                 int ce=check();
    40                 if(ce==0)break;
    41                 if(ff)
    42                 {
    43                     for(int i=ce+1; i<l; i++)s[i]='0';
    44                     ff=0;
    45                 }
    46                 add(ce);
    47             }
    48         if(flag)printf("1");
    49         puts(s);
    50     }
    51     return 0;
    52 }
    View Code
  • 相关阅读:
    判断平面的一堆点是否在两条直线上
    约数的个数 + 贪心
    划分树板子
    如何获取前端提交来得json格式数据
    post 和php://input 转
    使用Guzzle执行HTTP请求
    redis集群搭建 不用ruby
    systemctl命令
    canal 配置 多个监听 推送到不同mq
    canal 整合RabbitMQ
  • 原文地址:https://www.cnblogs.com/yours1103/p/3349426.html
Copyright © 2020-2023  润新知