求助,玄关
查看原帖
求助,玄关
736746
bananamilktea楼主2024/12/14 14:41

WA on #5,但是下载样例下来,本地测没问题

#include<bits/stdc++.h>

using namespace std;

string s, t;
string add(string x, string y) {
    string ans = "";
    for(int i = 0; i < max(x.size(), y.size()) + 1; i++) {
        ans += '0';
    }
    reverse(x.begin(), x.end());
    reverse(y.begin(), y.end());
    if(x.size() > y.size()) {
        swap(x, y);
    }
    for(int i = 0; i < ans.size(); i++) {
        if(x[i] >= '0' && x[i] <= '9') {
            ans[i] = x[i] + y[i] - '0';
        }
        else if(y[i] >= '0' && y[i] <= '9') {
            ans[i] = y[i];
        }
    }
    for(int i = 0; i < ans.size(); i++) {
        if(ans[i] > '9') {
            ans[i] -= 10, ans[i + 1]++;
        }
    }
    for(int i = ans.size() - 1; ans.size() > 0 && (ans[i] <= '0' || ans[i] > '9'); i--) {
        ans.erase(ans.size() - 1); 
    }
    reverse(ans.begin(), ans.end());
    if(ans.size() == 0) {
        ans += '0';
    }
    return ans;
}

int main() {
    cin >> s >> t;
    cout << add(s, t);
    return 0;
}
2024/12/14 14:41
加载中...