题目描述
一个长度为 ll 的字符串中被反复贴有 boy
和 girl
两单词,后贴上的可能覆盖已贴上的单词(没有被覆盖的用句点表示),最终每个单词至少有一个字符没有被覆盖。问贴有几个 boy
几个 girl
?
输入格式
一行被反复贴有 boy
和 girl
两单词的字符串。
输出格式
两行,两个整数。第一行为 boy
的个数,第二行为 girl
的个数。
输入输出样例
输入 #1
......boyogirlyy......girl.......
输出 #1
4 2
说明/提示
数据保证,3≤l≤l≤255,字符串仅仅包含如下字符:.bgilory.bgilory。
写题思路:
理解题意,后面覆盖前面,至少有一个字符说明可能有字符boy或girl,多看看,我一开始也没看明白
代码
#include<iostream>
using namespace std;
int main(){
int n=0,m=0;
string l;
cin>>l;
for(int i=0;i<l.length();i++){
if(l[i]=='b'||l[i+1]=='o'||l[i+2]=='y'){
n++;
}
if(l[i]=='g'||l[i+1]=='i'||l[i+2]=='r'||l[i+3]=='l'){
m++;
}
}
cout<<n<<endl<<m;
return 0;
}