1 条题解

  • 0
    @ 2025-8-24 22:20:31

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 过往梦魇之殇
    AFOed.

    搬运于2025-08-24 22:20:31,当前版本为作者最后更新于2020-04-18 15:22:25,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门

    一开始代码bug了,已修改,重新提交

    这是一道密码题 (毕竟加密的规则都告诉你了,那这就是一道水题dogedoge

    思路

    类似尺取法(并不恰当的类比),这里的尺子长度为22就可以做了

    下面举一例:

    原文:cncn akak ynoiynoi andand tuitui osuosu

    加密后:cncn apakapak ynopoipiynopoipi apandapand tupuipitupuipi oposupuoposupu

    因为是倒推原文 (让你加密的话依然水)

    所以我们可以先找p'p',再找它对应的那个元音

    注意:不是找到任意一个p'p'就对它进行删去处理,一定要有元音匹配。(废话,这是显然的)

    思路理清,只要代码不敲错,这种题目肯定能AA

    这里不需要一下子把字符串读完,可以一个一个字符读(长度小于等于100100怕啥)

    记录上一位和这一位,如果该位是p'p'且上一位是元音,那么下一位不存,直接getchar()getchar()读掉,存下下位,以此类推。

    (未匹配上的读入后输出即可,无需存储)

    代码展示:

    #include<iostream>
    #include<sstream>
    #include<fstream>
    #include<vector>
    #include<list>
    #include<deque>
    #include<queue>
    #include<stack>
    #include<map>
    #include<set>
    #include<bitset>
    #include<algorithm>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<cctype>
    #include<cmath>
    #include<ctime>
    #include<iomanip>
    #include<complex>
    #include<climits>
    #define re register
    #define in inline
    #define pi acos(-1.0)
    #define inf 2147483640
    #define cd complex<double>
    using namespace std;
    in int read()
    {
        int sum=0,negative=1;
        char ch=getchar();
        while(ch<'0'||ch>'9')
        {
            if(ch=='-')negative=-1;
            ch=getchar();
        }
        while(ch>='0'&&ch<='9')
        {
            sum=sum*10+ch-'0';
            ch=getchar();
        }
        return sum*negative;
    }
    in void write(int X)
    {
        if(X<0)putchar('-'),X=-X;
        if(X>=10)write(X/10);
        putchar(X%10+'0');
    }
    int main()
    {
    	char last='\0',now;
    	while(now!='\n'){
    		now=getchar();
    		if(now=='p'){
    			if(last=='a'||last=='e'||last=='i'||last=='o'||last=='u'){
    				getchar();
    				now=getchar();
    			}
    		}
    		putchar(now);
    		last=now;
    	}
        return 0;
    }
    
    制作不易,求资瓷!

    Thanks For Watching!

    • 1

    信息

    ID
    5424
    时间
    1000ms
    内存
    32MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者