问题标题: 酷町堂:7277 密语传信

0
0
已解决
赵宇晨
赵宇晨
高级守护
高级守护

7277   密语传信

经验值:800

时间限制:1000毫秒

内存限制:128MB

题目描述 De**ion

酷町猫和可可最近迷上了“密语传信”,每次互相传字条都会用一种加密方式再由对方破译;
这次可可又给酷町猫写小纸条了,可可决定:在写的过程中只要用到这五个字母a e i o u其中一个时,就在后面加上字母 p 再加上原来的字母,比如:酷町猫的名字 kudingmao 就被可可写成了 kupudipingmapaopo;
现在酷町猫收到了来自可可的“密语信”,要如何破译呢?

输入描述 Input De**ion

输入一行,一个字符串 s,表示可可加密后的句子。(数据不会有前导空格与尾随空格,但句子中间可能出现空格)

输出描述 Output De**ion

输出一行,一个字符串,表示酷町猫解密后的句子。

样例输入 Sample Input

gopo fipishiping topomoporropow

样例输出 Sample Output

go fishing tomorrow

数据范围及提示 Data Size & Hint

数据保证字符串的内容一定是小写字母或空格;
字符串的长度在1到100的范围内。

赵宇晨在2023-11-27 19:23:34追加了内容

错误代码:

#include<iostream>
#include<cmath>
#include<iomanip>
#include<algorithm>
#include<cstdio>
#include<string>
#include<cstring>
#pragma GCC optimize(2)
using namespace std;
string s;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    getline(cin,s);
    for(int i=0;i<s.size();i++)
    {
        if(s[i]=='p'&&s[i-1]=='a'||s[i-1]=='e'||s[i-1]=='i'||s[i-1]=='o'||s[i-1]=='u')
        s.erase(i-1,1);
    }
    cout<<s;
    return 0;
}//此段代码执行后会吧a,e,i,o,u去掉,变成p


0
0
我要回答