2 条题解

  • 3
    @ 2025-11-8 22:30:28

    小w吃雪糕

    这道题就是一个很简单的字符串模拟,我们‘a’表示为0 其实依次 其实不就是说 'a'-‘a’ 对应数字为0嘛 那反过来的话 数字加‘a’ 不就是对应的字母

    然后唯一的坑点就是 可能会有人去用long long 或者int 去读 我专门卡了一下 我们看数据是 2的100次方 那么 long long 最大是 2的64次方-1 肯定就炸掉了啊 所以这道题就是让你去用字符串去做的 然后就是很简单的模拟 就没啥好说的了 直接看代码吧

    #include <stdio.h>
     #include<string.h>
     int main ()
     {
         char x[310];
         scanf("%s", x);
         int len = strlen(x);
         int cnt0 = 0,cnt1 = 0;
         for(int i = 0;i < len; i++){
             int d = x[i] - '0';
             if(d&1){
                 cnt1++;
             }else{
                 cnt0++;
             }
         }
         for(int i = 0; i < len; i++){
             int d = x[i] - '0';
             if(cnt0 > cnt1){
                 if(d&1){
                     d = (d + 1) % 10;
                 }
             }
             else if(cnt0 < cnt1){
                 if(d%2==0){
                     d = (d + 1) % 10;
                 }
             }
             x[i] = d + 'a';
         }
         printf("%s\n",x);
         return 0;
     }
     ​
    

    信息

    ID
    1183
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    209
    已通过
    48
    上传者