E

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    char str[100000];
    scanf("%s",&str);//fgets(str,sizeof(str),stdin);〤
    int n=strlen(str),sum1=0,sum2=0,sum12=0,sum22=0,sign=0;
    for(int i=0;i<n;i++)
    {
        switch(str[i])
        {
            case 'a':sum1++;break;
            case 'b':sum2++;break;
            default:printf("Bad\n");sign=1;break;return 0;//结束程序
        }  
        if(sign==1)
            break;

    }
    if(sum1!=sum2)
    {printf("Bad\n");return 0;}
    else
    {
        for(int j=0;j<n;j++)
        {
            switch(str[j])
            {
                case 'a':sum12++;break;
                case 'b':sum22++;break;
            }   
            if(sum12<sum22)
                {printf("Bad\n");return 0;}
        }
        
    
    }
    printf("Good\n");
    return 0;
    }

◮:a!=b ,pass
其他字符/空格,pass
每一个 every 前缀中a<b ,pass ∵a在b的前面,b多了前面没有a给它配

◮:break;在printf("Bad"); 之前,sign状态标记变量好像没用
fgets会将输入的\n 也读入导致n +1

posted @ 2025-09-18 19:58  ervgiu28hg34y827  阅读(6)  评论(0)    收藏  举报