21 条题解

  • -1
    @ 2023-10-29 19:56:43
    #include<iostream>
    #include<string.h>
    using namespace std;
    const int INF=0x3f3f3f3f;
    const int N=2e5+10;
    string a,b;
    int lena,lenb,lenc,a1[N],b1[N],c1[N],x; 
    int main(){
    	cin>>a>>b;
    	lena=a.size();
    	lenb=b.size();
    	if(lena<lenb||(lena==lenb&&a<b)){
    		swap(lena,lenb);
    		swap(a,b);
    		cout<<"-";
    	}
    	for(int i=0;i<lena;i++){
    		a1[i]=a[lena-i-1]-'0';
    	}
    	for(int i=0;i<lenb;i++){
    		b1[i]=b[lenb-i-1]-'0';
    	}
    	lenc=max(lena,lenb);
    	for(int i=0;i<=lenc;i++){
    		c1[i]=a1[i]-b1[i];
    		if(c1[i]<0){
    			a1[i+1]--;
    			c1[i]+=10;
    		} 
    	}
    	while(c1[lenc]==0&&lenc>0){
    		lenc--;
    	}
    	for(int i=lenc;i>=0;i--){
    		cout<<c1[i];
    	}
    }
    

    信息

    ID
    1191
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    677
    已通过
    184
    上传者