#include<stdio.h>
#include<string.h>
int main() {
char a[100001]; // 多留1位避免边界问题
scanf("%s", a);
int len = strlen(a);
int count = 0; // 统计能切割出的单词数量
int i = 0;
while (i <= len - 3) { // 保证i+2不越界
// 提取当前位置开始的3个字符
char c1 = a[i];
char c2 = a[i+1];
char c3 = a[i+2];
// 检查这3个字符是否恰好是l、q、b各一个(任意顺序)
// 思路:统计l/q/b的出现次数,每个都恰好出现1次
int has_l = 0, has_q = 0, has_b = 0;
if (c1 == 'l') has_l++;
else if (c1 == 'q') has_q++;
else if (c1 == 'b') has_b++;
if (c2 == 'l') has_l++;
else if (c2 == 'q') has_q++;
else if (c2 == 'b') has_b++;
if (c3 == 'l') has_l++;
else if (c3 == 'q') has_q++;
else if (c3 == 'b') has_b++;
// 如果三个字符恰好是l、q、b各一个
if (has_l == 1 && has_q == 1 && has_b == 1) {
count++; // 计数+1
i += 3; // 跳过这3个字符(模拟切割)
} else {
i++; // 不满足则只移动1位
}
}
printf("%d\n", count);
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复