中级光能
题目描述 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追加了内容
结贴啦