2023 RoboCom 世界机器人开发者大赛

您所在的位置:网站首页 辩题带题解虚拟题 2023 RoboCom 世界机器人开发者大赛

2023 RoboCom 世界机器人开发者大赛

2024-07-10 12:07| 来源: 网络整理| 查看: 265

RC-u1 睿抗,启动!

分数 15

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

将当前操作的字符串初始化为提供的账号名。每次生成会规定一个生成轮次 N。对于每一轮次,按顺序执行以下操作: 对于当前操作的字符串,将所有大写字母替换为后一个字母;如将 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 using namespace std; string Password; void solve(string s) { int n = s.size(); for(int i = 0; i < n; ++ i) { if(s[i] >= 'A' && s[i] = 'a' && s[i] = 'a' && s[i] = 'a' && s[j + 1] = 3) { for(int k = i; k = 'A' && s[i] = 'A' && s[j + 1] = 3) { for(int k = i; k > t >> name; if(Password == "yourname") name = "xxx"; Password = name; while(t --) solve(Password); cout > L; for(int i = 1; i > val[i]; for(int i = 1; i > arr[i]; priority_queue rot; for(int i = 1; i > stk2[i]; if(k == 1) { cout f[i][j] x = f[i][j-1]; if(x.first == x.second) t2.first = x.first + 1; else t2.first = x.first; t2.second = ((mp[stk2[j]] + pre_cnt[stk2[j]]) % k == 0) ? x.second + 1 - k : x.second + 1; f[i][j] = min(t1, t2); } } cout t; while(t --) { solve(); } }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3