CF61C Capture Valerian

题目描述

现在是公元 $260$ 年。Shapur 由于极其聪明,成为了波斯国王。现在他被称为伊朗和安伊朗的国王之王陛下 Shapur。 最近,罗马人对波斯宣战。他们妄想占领亚美尼亚。在最近的战争中,罗马人惨败。如今他们的高级将军 Philip 被 Shapur 俘虏,Shapur 现在正准备俘获罗马皇帝 Valerian。 在惨败后,胆小的 Valerian 躲藏在他城堡顶上的一个房间里。为了抓到他,Shapur 必须打开许多门。幸运的是,Valerian 太过于害怕,以至于没有给门上安装坚不可摧的锁。 每扇门由 $4$ 个部分组成。第一部分是一个整数 $a$。第二部分要么是一个整数 $b$,要么是一个非常奇怪的记号,看起来像 R。第三部分是一个整数 $c$,第四部分是空的!似乎就是留给写点什么用的。Shapur 非常聪明,在打开前几道门后就发现了这些锁的秘密。 $c$ 是一个以 $a$ 进制书写的整数,要打开门,你需要把它写成 $b$ 进制。如果出现 R,这其实是一种只在罗马帝国使用的特殊计数系统,所以开门可没那么简单! 下面解释这种非常奇怪、甚至没有零的数字系统: 罗马数字基于七个符号:一根竖线(用字母 I 表示,代表 $1$),大括号符号(用字母 V 表示,代表 $5$),叉号(用字母 X 表示,代表 $10$),C 代表一百(Centum),等等: - I = $1$ - V = $5$ - X = $10$ - L = $50$ - C = $100$ - D = $500$ - M = $1000$ 符号通过迭代产生为十进制( $1$、$10$、$100$、$1,000$)的倍数,V、L、D 代表五的倍数,迭代继续:I 是 $1$,II 是 $2$,III 是 $3$,V 是 $5$,VI 是 $6$,VII 是 $7$,以此类推,其他基数同理:X 是 $10$,XX 是 $20$,XXX 是 $30$,L 是 $50$,LXXX 是 $80$;CC 是 $200$,DCC 是 $700$,等等。在第 $4$ 和第 $9$ 次迭代时,需要使用减法原则,将较小的数字放在较大的数字之前:IV ($4$)、IX ($9$)、XL ($40$)、XC ($90$)、CD ($400$)、CM ($900$)。 同时,在大于 $10$ 的进制中,用 A 表示 $10$,B 表示 $11$,以此类推。 请帮助 Shapur 捉住 Valerian,并为波斯,尤其是亚美尼亚带来和平。

输入格式

第一行包含两个整数 $a$ 和 $b$($2 \leq a,b \leq 25$)。其中 $b$ 可能会被 R 替代,表示罗马数字系统。 下一行包含一个以 $a$ 进制表示的不包含负号的整数 $c$,它可能包含前导零,但长度不超过 $10^3$。 保证如果出现罗马数字,则该数不超过 $3000_{10}$,且不会为 $0$。在其他情况下,该数不会大于 $10^{15}_{10}$。

输出格式

输出一行,将整数 $c$ 用 $b$ 进制表示。必须省略前导零。

说明/提示

你可以在这里找到更多关于罗马数字的信息:http://en.wikipedia.org/wiki/Roman\_numerals 由 ChatGPT 5 翻译