RC-u1 睿抗,启动!

RC-u1 睿抗,启动!

分数 15

全屏浏览

切换布局

作者 DAI, Longao

单位 杭州百腾教育科技有限公司

你被委托开发一个用于睿抗机器人开发者大赛CAIP-编程技能赛的管理系统,这个管理系统需要一些账号名和密码,你需要按照规则根据账号生成对应的密码,具体规则是:

  1. 将当前操作的字符串初始化为提供的账号名。
  2. 每次生成会规定一个生成轮次 N。
  3. 对于每一轮次,按顺序执行以下操作:
  • 对于当前操作的字符串,将所有大写字母替换为后一个字母;如将 A 替换为 B,B 替换为 C,以此类推。特别地,将 Z 替换为 A。对于所有小写字母,将其替换为前一个字母,如将 z 替换为 y,以此类推。特别地,将 a 替换为 z。
  • 对于完成上一步后的字符串,如果连续出现了至少三个大写字母(不一定要相同),则将这些连续的大写字母全部改为小写字母;对于连续出现了至少三个小写字母(不一定要相同),则将这些连续的小写字母全部改为大写字母。注意修改不在原地进行,即修改结果不影响本次步骤中对于连续的判定。

现在给定账号名以及轮次,请你生成对应的密码。

输入格式:

输入第一行是一个正整数 N (1≤N≤10),表示生成的轮次数;

输入第二行是一个字符串 S (1≤∣S∣≤100),表示需要操作的账号名。账号名只包含大小写及数字。

注意:如果 S 为 yourname,请将 S 改为你的名字的拼音拼写,全小写,不包含空格。如你的名字为张三,则你操作的字符串应为 zhangsan。请务必写真实姓名,写错误的名字可能会导致成绩被取消。

输出格式:

输出两行,第一行为账号名,第二行为根据规则生成的密码。

输入样例:

1
DOGcat1234XZxzABabFFXIV

输出样例:

DOGcat1234XZxzABabFFXIV
ephBZS1234YAwyBCzaggyjw

输入样例:

2
DOGcat1234XZxzABabFFXIV

输出样例:

DOGcat1234XZxzABabFFXIV
DOGcat1234ZBvxCDYZFFXIV

 

#include<iostream>
using namespace std;

string slove(string s){
	for(int i=0;i<s.size();i++){
		if(s[i]>='a'&&s[i]<='z'){
			s[i]=s[i]-1;
			if(s[i]<'a')s[i]+=26; 
		}else if(s[i]>='A'&&s[i]<='Z'){
			s[i]=s[i]+1;
			if(s[i]>'Z')s[i]-=26; 
		}
	}
	int da=0,xiao=0;
	int i,j;
	for(i=0,j=0;i<s.size();i++){
		if(s[i]>='a'&&s[i]<='z'){
			xiao++;
			if(da!=0){
				if(i-j>2){
					for(int t=j;t<i;t++)s[t]=s[t]+32;
				}
				j=i;
				da=0;
				
			}
		}else if(s[i]>='A'&&s[i]<='Z'){
			da++;
			if(xiao!=0){
				if(i-j>2){
					for(int t=j;t<i;t++)s[t]=s[t]-32;
				}
				
				j=i;
				xiao=0;
			}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值