C

int main() {
  char s[100001];  
  scanf("%s", s);  
  int len = strlen(s);  

  // 条件1偶数
  if (len % 2 != 0) {  
      printf("Bad\n");  
      return 0;  
  }  

  int count_a = 0, count_b = 0;  
  for (int i = 0; i < len; i++) {  
      if (s[i] == 'a') count_a++;  
      else if (s[i] == 'b') count_b++;  
  }  

  // 条件2
  if (count_a != count_b) {  
      printf("Bad\n");  
      return 0;  
  }  

  //任意前缀的 a 数量 ≥ b 数量
  int current_a = 0, current_b = 0;  
  for (int i = 0; i < len; i++) {  
      if (s[i] == 'a') {  
          current_a++;  
      } else {  
          current_b++;  
      }  
      if (current_b > current_a) {  
          printf("Bad\n");  
          return 0;  
      }  
  }  
  printf("Good\n");  
  return 0; 

◮:

◮:偶数,a=b,前缀里a>=b

posted @ 2025-08-23 10:38  ervgiu28hg34y827  阅读(5)  评论(0)    收藏  举报