Check the string

Posted wkfvawl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Check the string相关的知识,希望对你有一定的参考价值。

A. Check the string
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A has a string consisting of some number of lowercase English letters ‘a‘. He gives it to his friend B who appends some number of letters ‘b‘ to the end of this string. Since both A and B like the characters ‘a‘ and ‘b‘, they have made sure that at this point, at least one ‘a‘ and one ‘b‘ exist in the string.

B now gives this string to C and he appends some number of letters ‘c‘ to the end of the string. However, since C is a good friend of A and B, the number of letters ‘c‘ he appends is equal to the number of ‘a‘ or to the number of ‘b‘ in the string. It is also possible that the number of letters ‘c‘ equals both to the number of letters ‘a‘ and to the number of letters ‘b‘ at the same time.

You have a string in your hands, and you want to check if it is possible to obtain the string in this way or not. If it is possible to obtain the string, print "YES", otherwise print "NO" (without the quotes).

Input

The first and only line consists of a string SS (1|S|50001≤|S|≤5000). It is guaranteed that the string will only consist of the lowercase English letters ‘a‘, ‘b‘, ‘c‘.

Output

Print "YES" or "NO", according to the condition.

Examples
input
Copy
aaabccc
output
Copy
YES
input
Copy
bbacc
output
Copy
NO
input
Copy
aabc
output
Copy
YES
Note

Consider first example: the number of ‘c‘ is equal to the number of ‘a‘.

Consider second example: although the number of ‘c‘ is equal to the number of the ‘b‘, the order is not correct.

Consider third example: the number of ‘c‘ is equal to the number of ‘b‘.

 

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     int a,b,c,flag0,flag1,flag2,flag,i,len;
 6     char s[5001];
 7     gets(s);
 8     len=strlen(s);
 9     a=0;
10     b=0;
11     c=0;
12     flag0=0;
13     flag1=0;
14     flag2=0;
15     flag=0;
16     len=strlen(s);
17     for(i=0; i<len; i++)
18     {
19         if(s[i]==a)
20         {
21             if(flag1||flag2)
22             {
23                 printf("NO
");
24                 return 0;
25             }
26             a++;
27             flag0=1;
28         }
29         else if(s[i]==b)
30         {
31             if(!flag0||flag2)
32             {
33                 flag=1;
34                 break;
35             }
36             b++;
37             flag1=1;
38         }
39         else if(s[i]==c)
40         {
41             if(!flag0||!flag1)
42             {
43                 flag=1;
44                 break;
45             }
46             c++;
47             flag2=1;
48         }
49     }
50     if(flag==1)
51         printf("NO
");
52     else if((c==a||c==b)&&(c!=0&&b!=0))///注意要防止出现只有a,没有其他字母的情况
53         printf("YES
");
54     else
55         printf("NO
");
56     return 0;
57 }

 

以上是关于Check the string的主要内容,如果未能解决你的问题,请参考以下文章

环境初始化 Build and Install the Apache Thrift IDL Compiler Install the Platform Development Tools(代码片段

maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段

What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段

PHP7 连oracle 11g 可能出现的pdo_oci_handle_factory,Check the character问题和解决方法

英语The password fails the dictionary check怎么翻译?

IDEA下spring boot+fremarker启动报错would dispatch back to the current handler URL [/hello] again. Check y