1 条题解

  • 0
    @ 2025-4-12 21:52:29

    C :

    #include <stdio.h>
    #include <string.h>
    int main()
    {
      while(1)
      {
        char line[100];
        scanf("%s",line);
        if(strcmp(line,"E")==0)
        {
          break;
        }
        int zp=0;
        int op=0;
        int jp=0;
        for(int i=0;i<strlen(line);i++)
        {
          if(line[i]=='Z')
          {
            zp++;
          }
          if(line[i]=='O')
          {
            op++;
          }
          if(line[i]=='J')
          {
            jp++;
          }
        }
        while(zp!=0||op!=0||jp!=0)
        {
          if(zp!=0)
          {
            printf("Z");
            zp--;
          }
          if(op!=0)
          {
            printf("O");
            op--;
          }
          if(jp!=0)
          {
            printf("J");
            jp--;
          }
        }
        printf("\n");
      }
    }
    
    

    C++ :

    #include <cstdio>
    #include <map>
    using namespace std;
    
    int main() {
        //freopen("data.in", "r", stdin);
        //freopen("data.out", "w", stdout);
        char s[105];
        while (gets(s)) {
            if ('E' == s[0])
                break;
            map < char, int > mp;
            char zoj[5] = "ZOJ";
            for (char *c = s; *c; ++c)
                ++mp[*c];
            while (1) {
                bool flag = false;
                for (char *c = zoj; *c; ++c)
                    if (mp[*c] > 0) {
                        --mp[*c];
                        flag = true;
                        putchar(*c);
                    }
                if (!flag) break;
            }
            puts("");
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    2069
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者