题型:编程题
生成字母串
英语老师要求学生按照如下规则写一串字母:
- 如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中下一个字母的大写;
- 如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中前一个字母的小写。
例如 `aAaABCDdcbBC` 就是一个合法的字母串;而 `dEFfeFGhI` 就是非法的。
本题就请你编写程序,自动生成一个合法的字母串。
时间限制:1000
内存限制:65536
输入
输入在第一行给出一个不超过 10000 的正整数 N 和第一个字母。 随后一行给出一个由 `0` 和 `1` 组成的长度为 N 的字符串。这个串给出了字母串的生成规则:从第一个字母开始,如果对应的规则串字符是 `0`,则下一个字母应该生成当前字母的大/小写;如果是 `1` 则下一个字母应该生成当前字母的前/后一个字母。 注意:因为字母表中 `a` 没有前一个字母,`Z` 没有后一个字母,所以如果此时遇到 `1` 就忽略之。
输出
在一行中输出按规则生成的字母串。
样例输入
12 a 001011101101
样例输出
aAaABCDdcbBC
更新时间:2024-11-22 11:30:52
|
【知识点】
电子学会C/C++二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
执行以下C++代码,输入`65`后,输出结果是?( )
int grade; cin >> grade; if(grade >= 90) cout << "优秀"; else if(grade >= 70) cout << "良好"; else if(grade >= 60) cout << "及格"; else cout << "不及格";
| A. 优秀 |
B. 良好 |
| C. 及格 |
D. 不及格 |
2026-07-10
单选题
以下C++数组定义中,正确的是?( )
| A. 整数 arr[4] = {1,2,3,4,5}; |
B. 整数 arr[] = {5,4,3,2,1}; |
| C. int n=-5;内通 arr[n]; |
D. 整数 arr[5] = ; |
2026-07-10


