#include<bits/stdc++.h>
using namespace std;
int fff;
char arr[1000000],brr[1000000];
stack<int> stk1,stk2,stk3;
void abc2(bool f){
if(stk1.empty()&&stk2.empty()){//if(f==1)stk3.push(1);
return;
}
if(stk1.empty())stk1.push(0);
if(stk2.empty())stk2.push(0);
int a=stk1.top(),b=stk2.top();
stk1.pop();stk2.pop();
if(a-b-f<0){
stk3.push(a-b-f+10);abc2(1);
}
else{
stk3.push(a-b-f);abc2(0);
}
}
void abc3(){
if(fff==-1)cout<<'-';
bool f=0;
while(!stk3.empty()){
while(f==0&&stk3.size()>1){
if(stk3.top()!=0){
f=1;break;
}
stk3.pop();
}
cout<<stk3.top();
stk3.pop();
}
}
int main(){
cin>>arr;
cin>>brr;
fff=memcmp(arr,brr,max(strlen(arr),strlen(brr)));
if(fff==1){
for(int i=0;arr[i]!='\0';i++)
stk1.push(arr[i]-'0');
for(int i=0;brr[i]!='\0';i++)
stk2.push(brr[i]-'0');
}
if(fff==0){
cout<<0;
return 0;
}
if(fff==-1){
for(int i=0;arr[i]!='\0';i++)
stk2.push(arr[i]-'0');
for(int i=0;brr[i]!='\0';i++)
stk1.push(brr[i]-'0');
}
abc2(0);
abc3();
return 0;
}
测试3 入: 88460914424991 4291703115049359 出:5796757799375632 正:-4203242200624368