• <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>

            coreBugZJ

            此 blog 已棄。

            Adding Reversed Numbers,spoj 42

            42. Adding Reversed Numbers

            Problem code: ADDREV

            The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancient plays are tragedies. Therefore the dramatic advisor of ACM has decided to transfigure some tragedies into comedies. Obviously, this work is very hard because the basic sense of the play must be kept intact, although all the things change to their opposites. For example the numbers: if any number appears in the tragedy, it must be converted to its reversed form before being accepted into the comedy play.

            Reversed number is a number written in arabic numerals but the order of digits is reversed. The first digit becomes last and vice versa. For example, if the main hero had 1245 strawberries in the tragedy, he has 5421 of them now. Note that all the leading zeros are omitted. That means if the number ends with a zero, the zero is lost by reversing (e.g. 1200 gives 21). Also note that the reversed number never has any trailing zeros.

            ACM needs to calculate with reversed numbers. Your task is to add two reversed numbers and output their reversed sum. Of course, the result is not unique because any particular number is a reversed form of several numbers (e.g. 21 could be 12, 120 or 1200 before reversing). Thus we must assume that no zeros were lost by reversing (e.g. assume that the original number was 12).

            Input

            The input consists of N cases (equal to about 10000). The first line of the input contains only positive integer N. Then follow the cases. Each case consists of exactly one line with two positive integers separated by space. These are the reversed numbers you are to add.

            Output

            For each case, print exactly one line containing only one integer - the reversed sum of two reversed numbers. Omit any leading zeros in the output.

            Example

            Sample input: 

            3
            24 1
            4358 754
            305 794

            Sample output:

            34
            1998
            1


            一段時間沒寫匯編了,使用輸入緩沖提高效率。。。


              1 ; spoj42.s
              2 
              3 %define  L  1024
              4 
              5 section .bss
              6         pBuf  : resb  L
              7         pBufN : resd 1
              8         pBufI : resd 1
              9 
             10 section .text
             11         global _start
             12 
             13 _start : 
             14         mov dword[pBufN], 0x0
             15         mov dword[pBufI], 0x0
             16         call inInt
             17 CASE : 
             18         test eax, eax
             19         jz EXIT
             20         dec eax
             21         push eax
             22 
             23         call inIntR
             24         push eax
             25         call inIntR
             26         pop ebx
             27         add eax, ebx
             28         call outIntLnR
             29 
             30         pop eax
             31         jmp CASE
             32 EXIT : 
             33         mov eax, 0x1
             34         mov ebx, 0x0
             35         int 0x80
             36 
             37 in eax
             38 inChar : 
             39         mov eax, [pBufI]
             40         mov ebx, [pBufN]
             41         cmp eax, ebx
             42         jne NOEMPTY
             43         mov eax, 0x3
             44         mov ebx, 0
             45         mov ecx, pBuf
             46         mov edx, L
             47         int 0x80
             48         mov [pBufN], eax
             49         mov dword[pBufI], 0
             50         xor eax, eax
             51 NOEMPTY : 
             52         mov ebx, eax
             53         inc ebx
             54         mov [pBufI], ebx
             55         add eax, pBuf
             56         mov bl, byte[eax]
             57         xor eax, eax
             58         mov al, bl
             59         ret
             60 
             61 in eax
             62 inInt : 
             63         xor eax, eax
             64         push eax
             65 SKIPSPACE : 
             66         call inChar
             67         cmp al, '0'
             68         jb SKIPSPACE
             69         cmp al, '9'
             70         ja SKIPSPACE
             71 INDIGIT : 
             72         mov ebx, eax
             73         pop eax
             74         mov ecx, 0xA
             75         xor edx, edx
             76         mul ecx
             77         sub ebx, '0'
             78         add eax, ebx
             79         push eax
             80 
             81         call inChar
             82         cmp al, '0'
             83         jb INDIGITEND
             84         cmp al, '9'
             85         ja INDIGITEND
             86         jmp INDIGIT
             87 INDIGITEND : 
             88         pop eax
             89         ret
             90 
             91 in eax
             92 inIntR : 
             93         xor eax, eax
             94         push eax
             95         mov eax, 0x1
             96         push eax
             97 SKIPSPACER : 
             98         call inChar
             99         cmp al, '0'
            100         jb SKIPSPACER
            101         cmp al, '9'
            102         ja SKIPSPACER
            103 INDIGITR : 
            104         sub eax, '0'
            105         pop ebx
            106         xor edx, edx
            107         mul ebx
            108         pop ecx
            109         add eax, ecx
            110         push eax
            111         mov eax, ebx
            112         mov ecx, 0xA
            113         xor edx, edx
            114         mul ecx
            115         push eax
            116         
            117         call inChar
            118         cmp al, '0'
            119         jb inIntRend
            120         cmp al, '9'
            121         ja inIntRend
            122         jmp INDIGITR
            123 inIntRend : 
            124         pop eax
            125         pop eax
            126         ret
            127 
            128 out eax
            129 outIntLnR : 
            130         push ebp
            131         mov ebp, esp
            132         sub esp, 100
            133         mov ebx, esp
            134 ZEROBEG : 
            135         test eax, eax
            136         jz ZEROEND
            137         mov ecx, 0xA
            138         xor edx, edx
            139         div ecx
            140         add edx, '0'
            141         mov byte[ebx], dl
            142         inc ebx
            143         jmp ZEROBEG
            144 ZEROEND : 
            145         mov eax, esp
            146 ZEROSKIP : 
            147         mov cl, byte[eax]
            148         cmp cl, '0'
            149         jnz ZEROSKIPEND
            150         inc eax
            151         jmp ZEROSKIP
            152 ZEROSKIPEND : 
            153         mov byte[ebx], 0xA
            154         inc ebx
            155         mov edx, ebx
            156         sub edx, eax
            157         mov ecx, eax
            158         mov eax, 0x4
            159         mov ebx, 0x1
            160         int 0x80
            161 
            162         mov esp, ebp
            163         pop ebp
            164         ret
            165 

            posted on 2011-05-18 15:27 coreBugZJ 閱讀(738) 評論(0)  編輯 收藏 引用 所屬分類: Assemble

            亚洲天堂久久精品| 久久亚洲AV成人无码电影| 国产成人久久777777| 久久夜色撩人精品国产| 国产成人精品久久| 久久国产精品99久久久久久老狼 | 中文字幕亚洲综合久久| 亚洲精品成人久久久| 久久婷婷五月综合色奶水99啪| 亚洲精品国产成人99久久| 久久精品国产99久久久古代| 高清免费久久午夜精品| 久久精品国产欧美日韩99热| 97超级碰碰碰久久久久| 国产免费久久精品99re丫y| 国产成人精品久久亚洲| AV色综合久久天堂AV色综合在| 色老头网站久久网| 亚洲国产成人久久精品99 | 久久亚洲春色中文字幕久久久 | 亚洲欧美成人综合久久久| 国产综合免费精品久久久| 国产亚洲精品美女久久久| 精品久久久中文字幕人妻| 久久综合九色综合久99| 国产成人精品久久亚洲| 亚洲国产精品久久66| 99久久国产免费福利| 久久免费精品一区二区| 久久久精品人妻一区二区三区四| 国内精品伊人久久久久妇| 国产精品中文久久久久久久| 久久国产欧美日韩精品免费| 一级a性色生活片久久无少妇一级婬片免费放 | 精品久久久久久久国产潘金莲| 久久精品国产一区二区| 国产精品综合久久第一页| 精品久久久久久国产免费了| 久久精品无码一区二区三区日韩| 9999国产精品欧美久久久久久| 国内精品久久久久久久影视麻豆|