CF960A Check the string
题目描述
A 有一个只包含若干个小写英文字母 'a' 的字符串。他把这个字符串交给他的朋友 B,B 会在字符串末尾添加若干个字母 'b'。由于 A 和 B 都喜欢字符 'a' 和 'b',他们确保此时字符串中至少有一个 'a' 和一个 'b'。
接着,B 把这个字符串交给 C,C 会在字符串末尾添加若干个字母 'c'。不过,因为 C 是 A 和 B 的好朋友,他添加的 'c' 的数量必须等于字符串中 'a' 的数量,或者等于字符串中 'b' 的数量。也有可能 'c' 的数量同时等于 'a' 和 'b' 的数量。
现在你手中有一个字符串,你想判断它是否可能通过上述过程得到。如果可以得到,输出 "YES";否则输出 "NO"(不带引号)。
输入格式
第一行包含一个字符串 $S$($1 \leq |S| \leq 5000$)。保证字符串只包含小写英文字母 'a'、'b'、'c'。
输出格式
如果字符串可以通过上述过程得到,输出 "YES";否则输出 "NO"。
说明/提示
考虑第一个样例:'c' 的数量等于 'a' 的数量。
考虑第二个样例:虽然 'c' 的数量等于 'b' 的数量,但顺序不正确。
考虑第三个样例:'c' 的数量等于 'b' 的数量。
由 ChatGPT 4.1 翻译