HDU5198 Strange Class

问题描述
在Vivid的学校里,有一个奇怪的班级(SC).在SC里,这些学生的名字非常奇怪。他们的名字形式是这样的n(a,b,c两两不相同。).例如,叫”abc”,”ddppqq”的学生是在SC里的,然而叫”aaa”,”ab”,”ddppqqq”的同学并不是在SC里的。
Vivid交了许多的朋友,他想知道他们之中哪些人是在SC里的。
输入描述
多组测试数据(大概10组),每一个数据在一行中给出一个字符串S,代表Vivid一个朋友的名字。
请处理到文件末尾。

[参数约定]
10.
|S| 是指S的长度.
S 只包含小写字母.
输出描述
对于每一个数据,如果Vivid的朋友是SC里的,那么输出YES,否则输出NO。
输入样例
abc
bc
输出样例
YES
NO

思路:模拟就行,这场比赛题目都很水

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<cstring>
 5 #define maxn 1000
 6 using namespace std;
 7 char ch[maxn],cha[10];
 8 int a[10];
 9 int main()
10 {
11     int n;
12     while(scanf("%s",ch+1)!=EOF)
13     {
14         memset(a,0,sizeof(a));
15         int len=strlen(ch+1);
16         cha[1]=ch[1];
17         for(int i=1;i<=len;i++)
18         {
19             if(ch[i]==cha[1])a[1]++;else break;
20         }
21         cha[2]=ch[a[1]+1];
22         for(int i=a[1]+1;i<=len;i++)
23         {
24             if(ch[i]==cha[2])a[2]++;else break;
25         }
26         cha[3]=ch[a[2]+a[1]+1];
27         for(int i=a[1]+a[2]+1;i<=len;i++)
28         {
29             if(cha[3]==ch[i])a[3]++;else break;
30         }
31         if(a[1]+a[2]+a[3]!=len){puts("NO");continue;}
32         if(a[1]!=a[2] || a[2]!=a[3] || a[1]!=a[3]){puts("NO");continue;}
33         if(cha[1]==cha[2] || cha[1]==cha[3] || cha[2]==cha[3]){puts("NO");continue;}
34         puts("YES");
35     }
36     return 0;
37 }
View Code

相关文章:

  • 2021-05-21
  • 2021-07-19
  • 2021-10-22
  • 2021-10-22
  • 2021-08-18
  • 2021-07-29
  • 2021-12-31
  • 2022-02-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-13
  • 2021-09-28
  • 2021-07-17
  • 2021-10-03
  • 2021-12-12
相关资源
相似解决方案