问题标题: 酷町堂:3231 电脑bug-英文句式

0
0
已解决
贾一凡
贾一凡
中级光能
中级光能

题目描述 Description

对于给定的一句英文句式,每两个单词之间是用空格隔开的,且没有标点符号。电脑出现了一个bug,在英文句式中出现给定的某两个字母的组合,当前的单词就不能正常显示,只能显示一个+。现在给你一句英文句式和会出现bug的两个字母,请你模拟电脑显示的结果。

输入描述 Input Description

两行:
第一行:一个英文句式,都是小写字母,没有符号,每两个单词用空格隔开;(每个单词最长10个字母,整个句子最多10个单词)
第二行:两个字母

输出描述 Output Description

一行,改变后的英文句式

样例输入 Sample Input

abc cde adg cba acb

ab

样例输出 Sample Output

+ cde adg cba acb

数据范围及提示 Data Size & Hint

相邻单词之间的空格可能不止一个

 

#include<iostream>
using namespace std;
int main(){
    string s,s2;
    int a,b;
    getline(cin,s);
    string s1;
    cin>>s1;
    s=" "+s+" ";
    for(int i=1;i<=s.size()-2;i++){
        if(s[i]!=' '&&s[i-1]==' '){
            a=i;
        }
        if(s[i]!=' '&&s[i+1]==' '){
            b=i;
            s2=s.substr(a,b-a+1);
            int x;
            x=s2.find(s1);
            if(x==-1){
                cout<<s2<<" ";
            }
            if(x!=-1){
                cout<<'+'<<" ";
            }
        }
    }
    return 0;
}

 

Wrong Answer:60分

贾一凡在2022-06-29 10:09:42追加了内容

结贴啦

贾一凡在2022-06-29 10:09:57追加了内容

结贴啦

贾一凡在2022-06-29 10:10:07追加了内容

结贴啦


0
我要回答