求助:为什么第三个点会WA
查看原帖
求助:为什么第三个点会WA
677489
Aaron530楼主2022/8/30 09:13
#include <bits/stdc++.h>
using namespace std;
char a[100005],b[100005];
int a1[100005],b1[100005],c[200005];
int len;
int main()
{
	cin>>a>>b;
	int as=strlen(a);
	int bs=strlen(b);
	for(int i=1;i<=as;i++)
		a1[i]=a[as-i]-'0';
	for(int i=1;i<=bs;i++)
		b1[i]=b[bs-i]-'0';
	if(a[0]=='-' || b[0]=='-')
	{
		for(int i=1;i<=as;i++)
		{
			if(a1[i]<b1[i])
			{
				a1[i+1]--;
				a1[i]+=10;
			}
			c[i]=a1[i]-b1[i];
		}
		len=as;
		while(c[len]==0 && len>1)
			len--;
	}
	else
	{
		len=max(as,bs);
		for(int i=1;i<=len;i++)
		{
			c[i]+=a1[i]+b1[i];
			c[i+1]=c[i]/10;
			c[i]%=10;
		}
	}
	for(int i=len;i>=1;i--)	
		cout<<c[i];
	return 0;
}

请问有大佬知道为什么第三个点会WA吗?

P1601_3输入:

11111111111111111111111111 9999999999999999999999999999999999

输出:

10000000011111111111111111111111110

谢谢

2022/8/30 09:13
加载中...