23 条题解

  • -1
    @ 2023-10-29 19:55:27
    #include <bits/stdc++.h>
    using namespace std;
    #define LL long long
    const int N = 1e5 + 10;
    const int INF = 0x3f3f3f3f;
    int x[N] ,y[N];
    int main()
    {
    	string a,b;
    	int flag = 0;
    	cin >> a >> b;
    	int lena = a.size();
    	int lenb = b.size();
    	if(lenb > lena )
    		flag = 1;
    	if(lena == lenb && b > a)
    		flag = 1;
    	if(flag)
    	{
    		swap(a,b);
    		swap(lena, lenb);
    		cout << "-";
    	}
    	for(int i = 0 ; i < lena ; i++)
    		x[i] = a[lena - i - 1] - '0';
    	for(int i = 0 ; i < lenb ; i++)
    		y[i] = b[lenb - i - 1] - '0';
    
    	for(int i = 0 ; i < lena ; i++)
    	{
    		x[i] -= y[i];
    		if(x[i] < 0)
    		{	
    			x[i] += 10;
    			x[i+1]--;
    		}
    	}
    	while(x[lena] == 0 && lena > 0)
    		lena--;
    	for(int i = lena ; i >= 0 ; i--)
    		cout << x[i];
    	return 0;
    }
    

    信息

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