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
浙公网安备 33010602011771号