字符串对照试验
题解思路
这道题目要求对两个字符串 s 和 t 进行比较,根据每个字符的类型和等级输出对应的结果。具体操作如下:
步骤分析
- 字符分类与等级判断
P2725.第1题-游游的字符串
题目内容
游游正在进行字符串对照试验,他有一个长度为n 的字符串s和另一个长度同样为n的字符串 t,他先定义一个字符:可控一级,当其为小写字母;可控二级,当其为大写字母;可控三级,当其为数字;不可控,当其为其他字符。随后,他将依次对每一个i=1,2,...,n进行以下操作:
- 如果s和t的第i个字符同时为可控的,且等级相同,则输出这两个字符的中位Ascii
码对应的字符;
- 如果s和t的第i个字符同时为可控的,但等级不同,则输出这两个字符的中位 Ascii
码;
- 否则,直接输出一条下划线"_"。
在这里,记字符u,v的 Ascii 码为Pu,Pu,则它们的 中位Ascii码定义为Pu和Pu,的平
均值向上取整。例如,a和z的中位 Ascii 码为m;A和B的中位Ascii 码为 B。
如果你需要 Ascii码相关的帮助,请参阅下表。

输入描述
第一行输入一个整数n(1≦n≦3×105)代表字符串的长度。
第二行输入一个长度为n 的字符串s。
第三行输入一个长度为n的字符串 t。
除此之外,保证字符串由数字、大小写字母、空格及!?.+−∗/这七个常见半角符号混合构成。保证
字符串的首尾不为空格。
输出描述
在一行上输出一个字符串,代表操作过后的字符串。。
样例1
输入
9
ciaLlo!?
dAmE*+-/
输出
8485gl____
说明
对于第一个字符,两者同时为可控的,但等级分别为二级和一级,所以,直接输出中位Ascii码,
查表可得,67和100的平均值向上取整为84
对于第二个字符,两者同时为可控的,但等级分别为一级和二级,所以,直接输出中位Ascii码,
查表可得,105 和65的平均值向上取整为85。
对于第三个字符,两者同时为一级可控,所以,输出中位Ascii码对应的字符,查表可得,97和
109 的平均值向上取整为103,对应g。