https://www.luogu.com.cn/problem/P2142
#include<bits/stdc++.h>
using namespace std;
char a[100860],b[100860];
int aa[100860],bb[100860],cc[100860];
int main()
{
cin>>a>>b;
int lena=strlen(a),lenb=strlen(b),lenc=1;
if(lenb>lena||(lena==lenb&&strcmp(a,b)<0))//QAQ先比较长度啊
{
cout<<"-";
for(int i=0;i<lenb;i++) aa[lenb-i]=b[i]-'0';
for(int i=0;i<lena;i++) bb[lena-i]=a[i]-'0';//QAQ数组就不要swap了呀
swap(lena,lenb);//QAQ因为while的循环条件,,,记得放在后面
}
else
{
for(int i=0;i<lena;i++) aa[lena-i]=a[i]-'0';
for(int i=0;i<lenb;i++) bb[lenb-i]=b[i]-'0';
}
while(lenc<=lena)
{
cc[lenc]=aa[lenc]-bb[lenc];
if(cc[lenc]<0)
{
cc[lenc]+=10;
aa[lenc+1]--;
}
lenc++;
}
while(cc[lenc]==0&&lenc>1) lenc--;
for(int i=lenc;i>=1;i--) cout<<cc[i];
return 0;
}```