提交时间:2023-12-14 13:28:41
运行 ID: 115829
#include<bits/stdc++.h> using namespace std; int a[10087],b[10087]; string max_(string x,string y){ if(x.size()==y.size()){ if(x>=y) return x; return y; } else{ if(x.size()>y.size()) return x; return y; } } int main(){ string x,y; cin>>x>>y; bool f=false; if(max_(x,y)==y){ swap(x,y); f=true; } int xs=x.size(); int ys=y.size(); for(int i=xs-1;i>=0;i--) a[i]=x[xs-i-1]-48; for(int i=ys-1;i>=0;i--) b[i]=y[ys-i-1]-48; int maxl=max(xs,ys); int o=0; for(int i=0;i<maxl;i++){ a[i]-=b[i]; if(a[i]<0){ a[i+1]--; a[i]+=10; } } maxl+=2; while(a[maxl]==0&&maxl>=0) maxl--; if(maxl==-1){ cout<<0; return 0; } if(f) cout<<"-"; for(int i=maxl;i>=0;i--) cout<<a[i]; return 0; }