#P2685. Numeral System
Numeral System
描述
八王子教授设计了一种新的整数数字系统,由四个小写字母 m、c、x、i 和八个数字 2、3、4、5、6、7、8、9 组成。他在这个系统中不使用数字 0 或数字 1。
字母 m、c、x 和 i 分别对应 、、 和 ,数字 2、...、9 分别对应 、...、。这个系统与罗马数字系统无关。
例如,字符串 5m2c3x4i、m2c4i 和 5m2c3x 分别对应整数 ($=5 \times 1000 + 2 \times 100 + 3 \times 10 + 4 \times 1$)、()和 ()。上面例子中的字符串部分 5m、2c、3x 和 4i 分别代表 ()、()、()和 ()。
每个字母 m、c、x 和 i 都可以以数字 2、3、...、9 之一为前缀。在这种情况下,前缀数字和字母被视为一对。由前缀数字和字母组成的对对应于一个整数,该整数等于字母的原始值乘以前缀数字的值。
对于每个字母 m、c、x 和 i,它在字符串中出现的次数最多为 。当它有前缀数字时,它应该与前缀数字一起出现。字母 m、c、x 和 i 必须按此顺序从左到右出现。此外,当字符串中存在数字时,它应显示为以下字母的前缀数字。字符串中的每个字母都可以省略,但整个字符串不能为空。以这种方式创建的字符串称为 MCXI 字符串。
MCXI 字符串对应于一个正整数,该整数是如上所述的字母值与其中包含的对值之和。对应于 MCXI 字符串的正整数称为其 MCXI 值。此外,给定一个从 到 的整数,有一个唯一的 MCXI 字符串,其 MCXI 值等于给定的整数。例如,MCXI 字符串 m2c4i 的 MCXI 值为 ,等于 。没有 MCXI 字符串,只有对应于 的 m2c4i。请注意,字符串 1m2c4i、mcc4i、m2c0x4i 和 2cm4i 不是有效的 MCXI 字符串。原因分别是使用 1、多次出现 c、使用 0 以及 c 和 m 的顺序错误。
你的工作是为八王子教授编写一个程序,该程序读取两个 MCXI 字符串,计算它们的 MCXI 值之和,并打印与结果对应的 MCXI 字符串。
输入
输入如下。第一行包含一个正整数 (),表示以下行的编号。第 行是第 个计算的规范()。
规范
规范
...
规范
每个规范都用一行来描述:
-字符串 -字符串
两个 MCXI 字符串用空格分隔。
您可以假设每个规范中两个 MCXI 字符串的两个 MCXI 值之和小于或等于 。
输出
对于每个规范,您的程序应该在一行中打印一个 MCXI 字符串。它的 MCXI 值应该是规范中 MCXI 字符串的两个 MCXI 值之和。输出中不应显示其他字符。
输入数据 1
10
xi x9i
i 9i
c2x2i 4c8x8i
m2ci 4m7c9x8i
9c9x9i i
i 9m9c9x8i
m i
i m
m9i i
9m8c7xi c2x8i
输出数据 1
3x
x
6cx
5m9c9x9i
m
9m9c9x9i
mi
mi
mx
9m9c9x9i
来源
日本 2005 国内