提交时间:2024-04-18 13:44:20
运行 ID: 143775
#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(),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),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; }