1. 程式人生 > >HDU 4554 叛逆的小明(西山居挑戰賽)

HDU 4554 叛逆的小明(西山居挑戰賽)

叛逆的小明

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 915    Accepted Submission(s): 649


Problem Description 叛逆期的小明什麼都喜歡反著做,連看數字也是如此(負號除外),比如:
小明會把1234它看成4321;把-1234看成-4321;把230看成032 (032=32);把-230看成-032(-032=-32)。

現在,小明做了一些a+b和a-b的題目(a, b為整數且不含前導0),如果給你這些題目正確的答案,你能猜出小明會做得到什麼答案嗎?
Input 輸入第一行為一個正整數T(T<=10000),表示小明共做了T道題。
接下來T行,每行是兩個整數x,y(-1000000<=x, y<=1000000), x表示a+b的正確答案,y表示a-b的正確答案。
輸入保證合法,且不需考慮a或b是小數的情況。
Output 輸出共T行,每行輸出兩個整數s t,之間用一個空格分開,其中s表示小明將得到的a+b答案,t表示小明將得到的a-b答案。

Sample Input 3 20 6 7 7 -100 -140
Sample Output 38 24 7 7 -19 -23
Source
Recommend liuyiding   |   We have carefully selected several similar problems for you:  
5467
 5466 5465 5464 5463

31MS  1412K  450B:

 
#include<stdio.h>
int main(){
    int n,add,dif,a,b,aa,bb;
    scanf("%d",&n);
    while(n--){
        scanf("%d%d",&add,&dif);  //  原數和差
        aa=bb=0;  // 反著的數
        a=(add+dif)/2;  b=add-a;  //  原數
        while(a!=0){
            aa=aa*10+a%10;
            a/=10;
        }
        while(b!=0){
            bb=bb*10+b%10;
            b/=10;
        }
        printf("%d %d\n",aa+bb,aa-bb);
    }
    return 0;
}