23 条题解

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

    信息

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