2013年8月11日 星期日

2013/8/11 UVA 713 - Adding Reversed Numbers

// http://ppt.cc/ExbV
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
    int n; scanf("%d", &n); char a[300]; char b[300]; int c[300];
 
    while( n-- )
    {
        for(int i = 0; i < 300; i++) c[i] = 0;
        scanf("%s %s", a, b);
        int al = strlen(a); int bl = strlen(b);
        int cmx = max( strlen(a), strlen(b));
     
        for(int i = 0; i < cmx; i++)
        {
            if( i < al && i < bl ) c[i] += a[i]+b[i]-'0'-'0';
            else if( i >= al ) c[i] += b[i]-'0';
            else c[i] += a[i]-'0';
         
            if( c[i] >= 10 ){ c[i]-=10; c[i+1]+=1;  }
        }
        if( c[cmx] != 0 ) cmx++;
        while( c[cmx-1] == 0 ){ cmx--; }
        int k;
        for(k = 0; c[k] == 0; k++);
        for(; k < cmx; k++)
            printf("%d", c[k]);
        printf("\n");  
    }
}

沒有留言:

張貼留言