#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 国内