NOIp模拟 同心锁

阅读: 评论:0

NOIp模拟 同心锁

NOIp模拟 同心锁

〖题目描述〗
纤云弄巧,飞星传恨,银汉迢迢暗度。金风玉露一相逢,便胜却人间无数。
柔情似水,佳期如梦,忍顾鹊桥归路。两情若是久长时,又岂在朝朝暮暮!
——秦观《鹊桥仙》
夜未央。带着细腻连绵的眼光遥望牛郎织女千年的爱情,平淡、精致且长久
的幸福感顿时氤氲在心。或许幸福就是这样,不求朝暮合,但求永同心。据说同
心锁是恋人们定情的一种信物,上面刻着两人的名字,它见证着天长地久的爱情,
诉说着爱情的坎坷与甜蜜。
据说在一座OI 桥上,同心锁上显示的文字有着它奇异的呈现方式,需要你
把它稍做改变才可解密。每个同心锁上都有3 个数据。第一个数据是一个字符串
s。第二个数据m 表示把s 串从m 处分为两段,s[1]至s[m-1]为a 串,s[m]至最
后为b 串。第三个数据n 表示你需要做改变的方式。第4 个数据表示把n 处理后
的s 串每个字母变重复次数p,不用重复则为0。
当n=1 时,把s 串中所有大写字母改成小写字母,把所有小写字母改成大写
字母,然后在后面加上‘Immorta1’;
当n=2 时,从s 串中删除所有出现的和b 一样的子串,然后把所有出现的
‘1013’改成‘hh4742’。
当n=3 时,在a 串部分的|n-m|-1 和|n-m|之间插入b 串,并删除b 串部分。
〖输入格式〗
第一行有一个字符串s(长度不超过1993);
第二行有3 个数:m(1<m<s 的长度)、n(1、2 或3)、p(0<=p<100)。
〖输出格式〗
输出一个字符串,为经过多次变化后最终得到的s。
〖样例输入1〗
MEIYOUwsshujuBYhh4742
14 1 1
〖样例输出1〗
mmeeiiyyoouuWWSSSSHHUUJJUUbbyyHHHH44774422IImmmmoorrttaa11
〖样例输入2〗
oiBYhh4742MEIYOU1013hh4742wsshujuBYhh4742
34 2 0
〖样例输出2〗
oiMEIYOUhh4742hh4742wsshuju
〖样例输入3〗
ipkepk
5 3 3
〖样例输出3〗

Iiiippppkkkkppppkkkkeeee


这题目太有逼格了!!

/*复习了c++字符串的操作。*/
#include<cmath>
#include<cstdio>
#include<vector>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 2016
using namespace std;
int m,n,p;
string st;
string res;
void change(string s){int l=s.size();for (int i=0;i<l;i++){if (s[i]>='a'&&s[i]<='z') s[i]-=32;else if (s[i]>='A'&&s[i]<='Z') s[i]+=32;}res=s+"Immorta1";
}
void del(string s,string b){int p=0,lens=s.size(),lenb=b.size();string tmp;while(p<lens){if (s.substr(p,lenb)==b) p+=lenb;else tmp+=s[p],p++;}p=0;while(p<tmp.size()){if (tmp.substr(p,4)=="1013") res+="hh4742",p+=4;else res+=tmp[p],p++;}
}
void push(string a,string b){int k=abs(n-m)-1;res=a.substr(0,k);res+=b;res+=a.substr(k,a.size()-k);
}
void work(){string a=st.substr(0,m-1);string b=st.substr(m-1,st.size()-m+1);switch(n){case 1:change(st);break;case 2:del(st,b);break;case 3:push(a,b);break;}for (int i=0;i<res.size();i++)for (int j=1;j<=p+1;j++) printf("%c",res[i]);printf("n");
}
int main(){freopen("lock.in","r",stdin);freopen("lock.out","w",stdout);cin >> st;cin >> m >> n>>p;work();return 0;
}


本文发布于:2024-01-31 19:40:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170670125430902.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:NOIp
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23