问题标题: 洛谷:P1321 单词覆盖还原

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼

题目

10分代码:

复制口

#include<iostream>
#include<string>
using namespace std;
int cntb,cntg;
string s;
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='b'&&s[i+1]=='o'&&s[i+2]=='y'){
            cntb++;
            i+=3;
        }
        else if(s[i]=='g'&&s[i+1]=='i'&&s[i+2]=='r'&&s[i+3]=='l'){
            cntg++;
            i+=4;
        }
        if(s[i]=='b'&&s[i+1]=='o'&&s[i+2]!='y'){
            cntb++;
            i+=2;
        }
        else if(s[i]=='g'&&s[i+1]=='i'&&s[i+2]=='r'&&s[i+3]!='l'){
            cntg++;
            i+=3;
        }
        else if(s[i]=='g'&&s[i+1]=='i'&&s[i+2]!='r'&&s[i+3]!='l'){
            cntg++;
            i+=2;
        }
        else{   
            if(s[i]=='b'||s[i]=='o'||s[i]=='y'){
                cntb++;
            }
            if(s[i]=='g'||s[i]=='i'||s[i]=='r'||s[i]=='l'){
                cntg++;
            }
        }
    }
    cout<<cntb<<endl;
    cout<<cntg;
    return 0;
}


 


0
已采纳
赵逸凡
赵逸凡
初级启示者
初级启示者

没有这么麻烦吧,1s得出结论:只要含有“boy”或“girl”单词中的字母,就说明存在过单词,注意字母可能连续

然后就AC惹

0
我要回答