• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Yiner的ACM

            成長的痕跡
            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統(tǒng)計(jì)

            • 隨筆 - 29
            • 文章 - 0
            • 評論 - 2
            • 引用 - 0

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            字符串處理 A-Metsys Laremun

             

            Prof. Hachioji has devised a new numeral system of integral numbers with four lowercase letters "m", "c", "x", "i" and with eight digits "2", "3", "4", "5", "6", "7", "8", "9". He doesn't use digit "0" nor digit "1" in this system.

            The letters "m", "c", "x" and "i" correspond to 1000, 100, 10 and 1, respectively, and the digits "2", ...,"9" correspond to 2, ..., 9, respectively. This system has nothing to do with the Roman numeral system.

            For example, character strings

            "5m2c3x4i", "m2c4i" and "5m2c3x"

            correspond to the integral numbers 5234 (=5*1000+2*100+3*10+4*1), 1204 (=1000+2*100+4*1), and 5230 (=5*1000+2*100+3*10), respectively. The parts of strings in the above example, "5m", "2c", "3x" and "4i" represent 5000 (=5*1000), 200 (=2*100), 30 (=3*10) and 4 (=4*1), respectively.

             

            Each of the letters "m", "c", "x" and "i" may be prefixed by one of the digits "2", "3", ..., "9". In that case, the prefix digit and the letter are regarded as a pair. A pair that consists of a prefix digit and a letter corresponds to an integer that is equal to the original value of the letter multiplied by the value of the prefix digit.

            For each letter "m", "c", "x" and "i", the number of its occurrence in a string is at most one. When it has a prefix digit, it should appear together with the prefix digit. The letters "m", "c", "x" and "i" must appear in this order, from left to right. Moreover, when a digit exists in a string, it should appear as the prefix digit of the following letter. Each letter may be omitted in a string, but the whole string must not be empty. A string made in this manner is called an MCXI-string.

            An MCXI-string corresponds to a positive integer that is the sum of the values of the letters and those of the pairs contained in it as mentioned above. The positive integer corresponding to an MCXI-string is called its MCXI-value. Moreover, given an integer from 1 to 9999, there is a unique MCXI-string whose MCXI-value is equal to the given integer. For example, the MCXI-value of an MCXI-string "m2c4i" is 1204 that is equal to 1000 + 2*100 + 4*1. There are no MCXI-strings but "m2c4i" that correspond to 1204. Note that strings "1m2c4i", "mcc4i", "m2c0x4i", and "2cm4i" are not valid MCXI-strings. The reasons are use of "1", multiple occurrences of "c", use of "0", and the wrong order of "c" and "m", respectively.

            Your job is to write a program for Prof. Hachioji that reads two MCXI-strings, computes the sum of their MCXI-values, and prints the MCXI-string corresponding to the result.

            Input

            The input is as follows. The first line contains a positive integer n (<= 500) that indicates the number of the following lines. The k+1 th line is the specification of the k th computation (k=1, ..., n).

            n
            specification1
            specification2
            ...
            specificationn

            Each specification is described in a line:

            MCXI-string1 MCXI-string2

            The two MCXI-strings are separated by a space.

             

            You may assume that the sum of the two MCXI-values of the two MCXI-strings in each specification is less than or equal to 9999.

            Output

            For each specification, your program should print an MCXI-string in a line. Its MCXI-value should be the sum of the two MCXI-values of the MCXI-strings in the specification. No other characters should appear in the output.

            Sample Input

            10
            xi x9i
            i 9i
            c2x2i 4c8x8i
            m2ci 4m7c9x8i
            9c9x9i i
            i 9m9c9x8i
            m i
            i m
            m9i i
            9m8c7xi c2x8i
            

            Sample Output

            3x
            x
            6cx
            5m9c9x9i
            m
            9m9c9x9i
            mi
            mi
            mx
            9m9c9x9i
            

            posted on 2011-03-20 19:37 Yiner 閱讀(203) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            热re99久久6国产精品免费| 久久久久久亚洲AV无码专区| 国产精品久久久天天影视香蕉| 91久久国产视频| 伊人久久精品影院| 亚洲狠狠婷婷综合久久蜜芽| 97久久超碰成人精品网站| 久久人人爽人人爽人人片AV东京热| 色欲综合久久躁天天躁蜜桃| 国产一区二区精品久久岳| 婷婷久久久亚洲欧洲日产国码AV| 国产亚洲精久久久久久无码AV| 亚洲精品国产字幕久久不卡| 久久精品国产亚洲一区二区三区| 久久精品无码午夜福利理论片| 久久综合日本熟妇| 国产精品综合久久第一页| www久久久天天com| 国产成人久久精品激情| 婷婷伊人久久大香线蕉AV| 久久久久se色偷偷亚洲精品av| 精品久久久久久无码中文野结衣| 久久精品人人槡人妻人人玩AV| 77777亚洲午夜久久多喷| 伊色综合久久之综合久久| 久久久久亚洲AV无码专区桃色| 91精品久久久久久无码| 国产亚洲美女精品久久久久狼| 精品乱码久久久久久久| 三上悠亚久久精品| 热re99久久6国产精品免费| 久久精品一本到99热免费| 久久久久亚洲av无码专区| 精品久久久久久中文字幕人妻最新| 一本一本久久A久久综合精品 | 中文国产成人精品久久不卡| 亚洲伊人久久成综合人影院 | 亚洲AV无码久久精品成人 | 国产叼嘿久久精品久久| 久久93精品国产91久久综合| 色综合久久久久综合99|