1 条题解
-
0
自动搬运
来自洛谷,原作者为

过往梦魇之殇
AFOed.搬运于
2025-08-24 22:20:31,当前版本为作者最后更新于2020-04-18 15:22:25,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
题目传送门
一开始代码bug了,已修改,重新提交这是一道密码题
(毕竟加密的规则都告诉你了,那这就是一道水题)思路:
类似尺取法(并不恰当的类比),这里的尺子长度为就可以做了
下面举一例:
原文:
加密后:
因为是倒推原文
(让你加密的话依然水)所以我们可以先找,再找它对应的那个元音
注意:不是找到任意一个就对它进行删去处理,一定要有元音匹配。
(废话,这是显然的)思路理清,只要代码不敲错,这种
水题目肯定能的这里不需要一下子把字符串读完,可以一个一个字符读(长度小于等于怕啥)
记录上一位和这一位,如果该位是且上一位是元音,那么下一位不存,直接读掉,存下下位,以此类推。
(未匹配上的读入后输出即可,无需存储)
代码展示:
#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
- 上传者