对于给定的由大小写字母和数字构成的字符串 和 ,记下标从 开始。按以下两个阶段进行处理: 【合并阶段】 第一步,将 和 合并,形成一个新字符串 。 第二步,将 中奇数位字符按 Ascii 码从小到大()进行排序,随后将偶数位字符也按 Ascii 码从小到大进行排序,得到 。 【调整阶段】 随后,从左到右遍历 中的每一个字符 : 第一步,若 不是合法十六进制字符(即不为 、、),则保留原字符,直接追加到结果中;否则,将其转换为十进制数。 第二步,将该十进制数转换为四位二进制数(高位不足补 ,例如 ); 第三步,将该二进制数翻转(反过来书写); 第四步,将该二进制数转换为大写的十六进制数,追加到结果中。 最终输出上述拼接而成的字符串。
输入描述:
在一行上输入两个长度 ,由大小写字母和数字构成的字符串 和 ,代表待处理的字符串。


输出描述:
输出处理后的最终字符串。
示例1

输入

dec fab

输出

5D37BF

说明

\hspace{15pt}在这个样例中,全过程描述如下:
\hspace{15pt}【合并阶段】
\hspace{23pt}\bullet\,第一步合并得到 u = \texttt{
\hspace{23pt}\bullet\,第二步排序得到 u' = \texttt{
\hspace{15pt}【调整阶段】
\hspace{23pt}\bullet\,对于第一个字符 (\texttt{a})_{16},其十进制数为 (10)_{10},二进制数为 (\texttt{1010})_2,翻转后得到 (\texttt{0101})_2,再转换回十六进制数为 (\texttt{5})_{16}
\hspace{23pt}\bullet\,第二个字符 (\texttt{b})_{16}=(11)_{10}=(\texttt{1011})_2,翻转 (\texttt{1101})_2=(\texttt{D})_{16}
\hspace{23pt}\bullet\,第三个字符 (\texttt{c})_{16}=(12)_{10}=(\texttt{1100})_2,翻转 (\texttt{0011})_2=(\texttt{3})_{16}
\hspace{23pt}\bullet\,第四个字符 (\texttt{e})_{16}=(14)_{10}=(\texttt{1110})_2,翻转 (\texttt{0111})_2=(\texttt{7})_{16}
\hspace{23pt}\bullet\,第五个字符 (\texttt{d})_{16}=(13)_{10}=(\texttt{1101})_2,翻转 (\texttt{1011})_2=(\texttt{B})_{16}
\hspace{23pt}\bullet\,第六个字符 (\texttt{f})_{16}=(15)_{10}=(\texttt{1111})_2,翻转 (\texttt{1111})_2=(\texttt{F})_{16}
示例2

输入

abV CDw

输出

B3VD5w

说明

\hspace{15pt}在这个样例中,全过程描述如下:
\hspace{15pt}【合并阶段】
\hspace{23pt}\bullet\,第一步合并得到 u = \texttt{
\hspace{23pt}\bullet\,第二步排序得到 u' = \texttt{
\hspace{15pt}【调整阶段】
\hspace{23pt}\bullet\,对于第一个字符 (\texttt{D})_{16},其十进制数为 (13)_{10},二进制数为 (\texttt{1101})_2,翻转后得到 (\texttt{1011})_2=(\texttt{B})_{16}
\hspace{23pt}\bullet\,第二个字符 (\texttt{C})_{16}=(12)_{10}=(\texttt{1100})_2,翻转 (\texttt{0011})_2=(\texttt{3})_{16}
\hspace{23pt}\bullet\,第三个字符 (\texttt{V})_{16},跳过该字符;
\hspace{23pt}\bullet\,第四个字符 (\texttt{b})_{16}=(11)_{10}=(\texttt{1011})_2,翻转 (\texttt{1101})_2=(\texttt{D})_{16}
\hspace{23pt}\bullet\,第五个字符 (\texttt{a})_{16}=(10)_{10}=(\texttt{1010})_2,翻转 (\texttt{0101})_2=(\texttt{5})_{16}
\hspace{23pt}\bullet\,第六个字符 (\texttt{w})_{16},跳过该字符。
示例3

输入

123 15

输出

88C4A

说明

\hspace{15pt}在这个样例中,全过程描述如下:
\hspace{15pt}【合并阶段】
\hspace{23pt}\bullet\,第一步合并得到 u = \texttt{
\hspace{23pt}\bullet\,第二步排序得到 u' = \texttt{
\hspace{15pt}【调整阶段】
\hspace{23pt}\bullet\,对于第一、二个字符 (\texttt{1})_{10},其十进制数为 (1)_{10},二进制数为 (\texttt{0001})_2,翻转后得到 (\texttt{1000})_2,再转换回十六进制数为 (\texttt{8})_{16}
\hspace{23pt}\bullet\,第三个字符 (\texttt{3})_{16}=(3)_{10}=(\texttt{0011})_2,翻转 (\texttt{1100})_2=(\texttt{C})_{16}
\hspace{23pt}\bullet\,第四个字符 (\texttt{2})_{16}=(2)_{10}=(\texttt{0010})_2,翻转 (\texttt{0100})_2=(\texttt{4})_{16}
\hspace{23pt}\bullet\,第五个字符 (\texttt{5})_{16}=(5)_{10}=(\texttt{0101})_2,翻转 (\texttt{1010})_2=(\texttt{A})_{16}

备注:
本题已于下方时间节点更新,请注意题解时效性:1. 2025-05-15 更新题面。2. 2024-12-14 更新题面。
加载中...