Strange Class
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1123 Accepted Submission(s): 571
Problem Description
In Vivid’s school, there is a strange class(SC). In SC, the students’ names are very strange. They are in the same format: anbncn(a,b,c
must not be the same with each other). For example studens whose names are“abc”,”ddppqq” are in SC, however studens whose names are “aaa”,“ab”,”ddppqqq” are not in SC.
Vivid makes friends with so many students, he wants to know who are in SC.
Vivid makes friends with so many students, he wants to know who are in SC.
Input
There are multiple test cases (about 10), each case will give a string S which is the name of Vivid’s friend in a single line.
Please process to the end of file.
[Technical Specification]
1≤|S|≤10.
|S| indicates the length of S.
S only contains lowercase letter.
Please process to the end of file.
[Technical Specification]
1≤|S|≤10.
|S| indicates the length of S.
S only contains lowercase letter.
Output
For each case, output YES if Vivid’s friend is the student of SC, otherwise output NO.
Sample Input
abc bc
Sample Output
YES NO
思路:简单题,直接模拟
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
char a[15];
int solve(int len)
{
if(a[0]==a[len]||a[0]==a[len*2]||a[len]==a[len*2]) return 0;
for(int i=1; i<len; i++)
if(a[i]!=a[i-1])
return 0;
for(int i=len+1; i<2*len; i++)
if(a[i]!=a[i-1])
return 0;
for(int i=2*len+1; i<3*len; i++)
if(a[i]!=a[i-1])
return 0;
return 1;
}
int main()
{
while(~scanf("%s",a))
{
int len=strlen(a);
if(len%3!=0)
{
printf("NO\n");
continue;
}
int ans=solve(len/3);
if(ans) printf("YES\n");
else printf("NO\n");
}
return 0;
}
本文介绍了一道关于字符串处理的问题,题目要求判断一个由小写字母组成的字符串是否符合特定格式,即是否为三个不同字母各自重复相等次数的组合。
320

被折叠的 条评论
为什么被折叠?



