TopCoder

Adrien Wu
$ \begin{align} AC \times 2^9 \\ \text{New TIOJ ?} \end{align} $

User's AC Ratio

66.7% (2/3)

Submission's AC Ratio

6.2% (2/32)

Tags

Description

有天你喜歡上了一個女孩子,因此決定向其告白。但卻得到如此回應:

「我很喜歡羅馬數字,如果你能通曉羅馬數字,我們可以試著交往看看。

但是如果你不能…雖然你是個好人,但我還是不得不拒絕你。」

因此你決定開始苦讀羅馬數字,最後你整理出了一些規律;

但有時還是難以判斷,因為實在太複雜了;因此身為西斯(cis)社社員的你,

決意寫個程式既可將羅馬數字轉為阿拉伯數字,又可將阿拉伯數字轉回羅馬數字。

想必這程式能給喜歡羅馬數字的她一個驚喜,別再猶豫了─動工吧!

另,請注意她是有可能使用不合法羅馬數字來考驗你的程式的喔!小心別出糗啦。

規則如下:

一、符號 I=1,V=5,X=10,L=50,C=100,D=500,M=1000。
二、一個位數僅由一組符號代表,一組符號中有加有減。
三、一組符號中小者若置於大者左為減,置於大者右為加。
四、若為減者至多一個符號,為加者至多三個符號。
五、負數或0無法用羅馬數字表達,因此請視為不合法。

Input Format

輸入包含多組測試資料,每組一行,每行有一數字或字串。

並且不會有不合法之字元出現,也不會阿拉伯數字與羅馬數字一同出現。

請讀入至檔案結尾為止。一列的長度至多 50 字元。

Output Format

對每一組測試資料皆輸出一列,若輸入不合法則輸出Invalid.

若合法,則對於羅馬數字輸出阿拉伯數字,對阿拉伯數字輸出羅馬數字。

Sample Input 1

I
II
3

Sample Output 1

1
2
III

Hints

你真的看清楚題目了嗎?

Problem Source

原TIOJ1303 / TFcis9 留社考(prob 9)。Problem Setter:sa072686。

Subtasks

No. Testdata Range Score
1 0 25
2 1 25
3 2 25
4 3 25

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 3000 65536 262144 1
1 3000 65536 262144 2
2 3000 65536 262144 3
3 3000 65536 262144 4