本质就是模拟,删除含有gzu的子串,由于不区分大小写,所以默认将所有的gzu转换成小写进行判断。由于字符串长度不超过100,所以直接遍历就好了,每次取出长度为3的子串进行判断,如果符合的话就跳过,如果不是gzu的话就输出当前遍历到的字符。
#include<iostream>
#include<string>
using namespace std;
string s;
string get_lower(string a)//转为小写
{
string res="";
for(auto i:a)
{
res+=tolower(i);
}
return res;
}
int main()
{
cin>>s;
for(int i=0;i<s.size();i++)
{
if(get_lower(s.substr(i,3))=="gzu")
{
i+=2;
}
else
{
cout<<s[i];
}
}
return 0;
}