235测试点报RE,但是本地运行是正确的 求解
查看原帖
235测试点报RE,但是本地运行是正确的 求解
682780
ykc1146187241楼主2023/1/20 20:38
#include<iostream>
using namespace std;
int main(){
    string a;
    string b;
    cin>>a;
    cin>>b;
    string c="";
    string d="";
    string final="";
    if(a.length()>b.length()){
    int i=a.length()-b.length();
    for(int j=0;j<i;j++){
        c+='0';
    }
    d+=c;
    d+=b;
    int flag1=0;
    for(int t=a.length()-1;t>=0;t--){
        if(a[t]-'0'+d[t]-'0'+flag1>=10){
            final[t]=a[t]+d[t]-'0'+flag1-10;
        flag1=1;
        }
        else{
            final[t]=a[t]+d[t]-'0'+flag1;
            flag1=0;
        }
    }
    int t=0;
    if(flag1==1){
        cout<<'1';
    }
    while(final[t]<='9'&&final[t]>='0'){
        cout<<final[t++];
    }
    }
    else{
   int i=b.length()-a.length();
    for(int j=0;j<i;j++){
        c+='0';
    }
    d+=c;
    d+=a;
    int flag2=0;
     for(int t=b.length()-1;t>=0;t--){
        if(b[t]-'0'+d[t]-'0'+flag2>=10){
            final[t]=b[t]+d[t]-'0'+flag2-10;
        flag2=1;
        }
        else{
            final[t]=b[t]+d[t]-'0'+flag2;
            flag2=0;
        }
    }
    int t=0;
    if(flag2==1){
        cout<<'1';
    }
    while(final[t]<='9'&&final[t]>='0'){
        cout<<final[t++];
    }
    }
    return 0;
}
2023/1/20 20:38
加载中...