#pragma GCC optmize(2)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[11505],b[11505],c[11505],lena,lenb,len;
bool pd;
string s,ss;
void jia() {
int jw = 0;
for(int i = 1; i <= max(lena,lenb) + 1; i++) {
c[i] = (a[i] + b[i] + jw) % 10;
jw = (a[i] + b[i] + jw) / 10;
}
len = max(lena,lenb);
while(c[len + 1])len++;
}
void jian() {
int tw = 0;
for(int i = 1; i <= max(lena,lenb) + 1; i++) {
c[i] = (a[i] - b[i] - tw + 10) % 10;
tw = a[i] - b[i] - tw < 0;
}
len = max(lena,lenb) + 1;
while(!c[len])len--;
}
void print(){
for(int i = len;i >= 1;i--)cout << c[i];
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> s >> ss;
if((s < ss && s.size() == ss.size()) || s.size() < ss.size()){
swap(s,ss);
pd = true;
}
if(s == ss){
cout << 0;
return 0;
}
lena = s.size();
lenb = ss.size();
for(int i = 1; i <= s.size(); i++)a[i] = s[s.size() - i] - '0';
for(int i = 1; i <= ss.size(); i++)b[i] = ss[ss.size() - i] - '0';
jian();
if(pd)putchar('-');
print();
}
本地运行都对了呀:
怎么交上去就错了呢?