专栏文章
题解:P1321 单词覆盖还原
P1321题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mioxrbzg
- 此快照首次捕获于
- 2025/12/03 02:53 3 个月前
- 此快照最后确认于
- 2025/12/03 02:53 3 个月前
题意
我们需要统计一个字符串中
boy 和 girl 的出现次数:-
字符串初始由
.组成,后来被boy或girl覆盖。 -
后贴的单词会覆盖之前的字符(可能是部分覆盖)。
-
每个单词至少有一个字符未被覆盖,所以我们可以通过遍历字符串来识别
boy和girl的片段。
思路
由于有覆盖的情况,所以
boy 和 girl 并不完整:- 当相邻三个字母中第一个是
b或第二个是o或第三个是y,那么说明这里有boy。 - 当相邻四个字母中第一个是
g或第二个是i或第三个是r或第四个是l,那么说明这里有girl。
最后统计
boy 和 girl 数量输出即可。Code
CPP#include<iostream>
#define int long long
using namespace std;
string s;
int ansboy,ansgirl;
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='b'||s[i+1]=='o'||s[i+2]=='y')ansboy++;
if(s[i]=='g'||s[i+1]=='i'||s[i+2]=='r'||s[i+3]=='l')ansgirl++;
}
cout<<ansboy<<'\n'<<ansgirl;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...