90分!求优化#6
查看原帖
90分!求优化#6
1251525
wisdom2010楼主2024/1/28 14:35
#include<bits/stdc++.h>
using namespace std;
const int maxn = 10086 + 5;
int a[maxn] = {0}, b[maxn] = {0};
int c[maxn] = {0};
string m, n;
int cnt = 0;
int main()
{
	cin >> m >> n;
	if((n >= m && n.size() >= m.size()) || n.size() >= m.size())
	{
		string q;
		q = m;
		m = n;
		n = q;
		cout << "-";
	}
	int len = max(m.size(),n.size()) - 1;
	for(int i = 0; i < m.size(); i++)
		a[i] = m[m.size() - 1 - i] - '0';
	for(int i = 0; i < n.size(); i++)
		b[i] = n[n.size() - 1 - i] - '0';
	for(int i = 0; i < len; i++)
	{
		cnt++;
		c[i] += a[i] - b[i];
		if(a[i] < b[i])
		{
			a[i + 1]--;
			c[i] = a[i] + 10 - b[i];
		}
	}
	c[len] += a[len] - b[len];
	cnt++;
	int j;
	for(int i = cnt - 1; i >= 0; i--)
	{
		if(c[i] != 0)
		{
			j = i;
			break;
		}
	}
	for(int i = j; i >= 0; i--)
	{
		cout << c[i];
	}
	return 0;
}

#6测试点为什么没有输出啊?

2024/1/28 14:35
加载中...