#include <stdio.h>
#include <string.h>
int sort(char a[], int l, int k);
int sort(char a[], int l, int k) {
    return (a[l - k] - '0');
}
int main() {
    int p, q, m, n, i;
    char b1[100010] = {0};
    char b2[100010] = {0};
    int c1[100010] = {0};
    int c2[100010] = {0};
    int c3[100010] = {0};
    scanf("%s", &b1);
    scanf("%s", &b2);
    p = strlen(b1);
    q = strlen(b2);
    for (i = 1; i <= p; i++) {
        c1[i] = sort(b1, p, i);
    }
    for (i = 1; i <= q; i++) {
        c2[i] = sort(b2, q, i);
    }
    int t = (p > q ? p : q) + 1;
    for (i = 0; i < t; i++) {
        c3[i] += c1[i] + c2[i];
        c3[i + 1] += c3[i] / 10;
        c3[i] = c3[i] % 10;
    }
    if (c3[t] == 0 && t > 0) {
        t--;
    }
    for (i = t; i > 0; i--) {
        printf("%d", c3[i]);

    }
    return 0;
}

用数组进行模拟,分别用两个数组存取每一位数,进行模拟相加,进位,处理大数参与链接