当前位置:首页 > 题解目录 > 正文内容

【题解】最多次数

亿万年的星光9个月前 (04-18)题解目录799

【题目描述】

小蓝有一个字符串 s,他特别喜欢由以下三个字符组成的单词:l,q,b,任意顺序都可以,一共有 6 种可能:lqb、lbq、qlb、qbl、blq、bql。

现在他想从 s 中,尽可能切割出多个他喜欢的单词,请问最多能切割出多少个?单词指的是由若干个连续的字符组成的子字符串。

【输入描述】

输入一行包含一个字符串 s。

【输出描述】

输出一行包含一个整数表示答案。

【样例输入】

lqbblqblqlxqb

【样例输出】

3

【数据范围】

对于20%的数据,1<=|s|<=10

对于40%的数据,1<=|s|<=20

对于60%的数据,1<=|s|<=100

对于70%的数据,1<=|s|<=1000

对于80%的数据,1<=|s|<=10000

对于所有数据,1<=|s|<=10^5, s中只包含小写字母



【参考答案】

#include<bits/stdc++.h>//头文件
using namespace std;
string s;
int cnt;
bool f(char a,char b,char c){//判断是否合法
	if(a=='l'&&b=='q'&&c=='b') return true;//合法
	else if(a=='l'&&b=='b'&&c=='q') return true;//合法
	else if(a=='q'&&b=='l'&&c=='b') return true;//合法
	else if(a=='q'&&b=='b'&&c=='l') return true;//合法
	else if(a=='b'&&b=='l'&&c=='q') return true;//合法
	else if(a=='b'&&b=='q'&&c=='l') return true;//合法
	else return false;//不合法
}
int main(){
	cin>>s;//输入
	for(int i=0;i<s.size()-2;i++){//循环判断
		if(f(s[i],s[i+1],s[i+2])){//判断后3位是否合法
			cnt++;//答案加1
			i+=2;//跳过不必循环范围
		}
	}
	cout<<cnt;//输出
	return 0;
	
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

求Π的值

【题目描述】根据公式:arctanx(x)=x−x^3/3+x^5/5−x^7/7+…和π=6arctanx(1/√3).定义函数arctanx(x),求当最后一项小于10^(−6)时π的值。【输入描...

【题解】宴会

【题目描述】今人不见古时月,今月曾经照古人。梦回长安,大唐风华,十里长安花,一日看尽。 唐长安城是当时世界上规模最大、建筑最宏伟、规划布局最为规范化的一座都城。其营建 制度规划布局的特点是规...

【题解】网线主管

【题目描述】仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结构连接在一起,即将它们全部连到一个单一的中心服务器。为...

【题解】最大公约数(2019青岛市程序设计竞赛)

【问题描述】给定n,以及正整数序列a1,a2,…,an与b1,b2,…,bn。令:sa=a1*a2*…*ansb=b1*b2*…*bn求sa和sb的最大公约数gcd(sa,sb)。【输入】第一行n。第...

【题解】完全背包问题

【题目描述】设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和...

进制转换(1)

【题目描述】毛毛是个健忘的孩子,编程课上老师刚讲过进制转换的问题,她又忘了。请你帮他编写一个程序,完成一个浮点数与二进制之间的相互转换【输入描述】两个数字,第一个数字表示要转换的数字,浮点型。第二个是...