单词覆盖还原
题目描述
我有一个长度为
l
l
l 的字符串,最开始时,这个字符串由
l
l
l 个句号(.
)组成。
我在这个字符串中,将多次把 boy
或者 girl
两单词,依次贴到这个字符串中。
后贴上单词,会覆盖之前贴上的单词,或者覆盖句号。最终,每个单词至少有一个字符没有被覆盖。
请问,一共贴有几个 boy
几个 girl
?
输入格式
一行被反复贴有 boy
和 girl
两单词的字符串。
输出格式
两行,两个整数。第一行为 boy
的个数,第二行为 girl
的个数。
样例 #1
样例输入 #1
......boyogirlyy......girl.......
样例输出 #1
4
2
提示
数据保证, 3 ≤ l ≤ 255 3\le l\le255 3≤l≤255,字符串仅仅包含如下字符: .bgilory \texttt{.bgilory} .bgilory。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int boy=0,girl=0;
string s;
cin>>s;
for(int i=0;i<s.length()-2;i++)
{
if(s[i]=='b'||s[i+1]=='o'||s[i+2]=='y')
{
boy++;
}
}
for(int i=0;i<s.length()-3;i++)
{
if(s[i]=='g'||s[i+1]=='i'||s[i+2]=='r'||s[i+3]=='l')
{
girl++;
}
}
cout<<boy<<endl<<girl;
return 0;
}