POJ 2602 - Superlong sums

http://poj.org/problem?id=2602

概要

最大で N 桁の2つの数の和を答える.

制約

解法

BigInteger でやろうとしたがなぜか WA だった…

単に一回足すだけなので文字列として処理した.

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7   int N;
 8   scanf("%d", &N);
 9 
10   string a(N, '0'), b(N, '0'), r(N, '0');
11   for (int i = 0; i < N; i++) {
12     scanf("%d %d", &a[i], &b[i]);
13   }
14   int c = 0;
15   for (int i = N-1; i >= 0; i--) {
16     r[i] = c + a[i] + b[i];
17     c = r[i] / 10;
18     r[i] %= 10;
19     r[i] += '0';
20   }
21   cout << r << endl;
22 
23   return 0;
24 }
poj/2602.cc