提交时间:2023-10-06 11:02:39

运行 ID: 105366

#include<bits/stdc++.h> using namespace std; string a1,b1; int a[5005],b[5005],s[5005],lena,lenb,lens,flag=0; int main() { cin>>a1>>b1; lena=a1.length(); lenb=b1.length(); lens=max(lena,lenb); for(int i=1;i<=lena;i++) a[i]=a1[lena-i]-48; for(int i=1;i<=lenb;i++) b[i]=b1[lenb-i]-48; for(int i=lens;i>=1;i--) { if(a[i]<b[i]) { flag=1; break; } } for(int i=1;i<=lens;i++) { switch(flag) { case 0: { if(a[i]<b[i]) { a[i+1]--; a[i]+=10; } s[i]=a[i]-b[i]; break; } case 1: { if(b[i]<a[i]) { b[i+1]--; b[i]+=10; } s[i]=b[i]-a[i]; break; } } } while(!s[lens]&&lens>1) lens--; cout<<(flag?"-":""); for(int i=lens;i>=1;i--) cout<<s[i]; return 0; }