本地能过 评测WA
查看原帖
本地能过 评测WA
1113121
w_official楼主2023/9/26 07:03

第一组数据:

123
321

本地输出没问题,但洛谷评测WA

#include <iostream>
#include <cstdio>

using namespace std;

const int N = 100000;
int n = 0, m = 0, cnt = 0;
int a[N], b[N], c[N];
char ch;

void add()
{
	while (n + m > 0)
	{
		if (n == 0)
		{
			c[++cnt] += b[m--];
			continue;
		}
		if (m == 0)
		{
			c[++cnt] += a[n--];
			continue;
		}
		c[cnt + 2] += (a[n] + b[m]) / 10;
		c[++cnt] += (a[n--] + b[m--]) % 10;
	}
	for (int i = 1; i <= cnt; ++i)
	{
		a[i + 1] += a[i] / 10;
		a[i] %= 10;
	}
}

int main()
{
//	freopen("P1601_1.in", "r", stdin);
	while (1)
	{
		scanf("%c", &ch);
		if (ch == '\n')
			break;
		a[++n] = ch - '0';
	}
	while (1)
	{
		scanf("%c", &ch);
		if (ch == '\n')
			break;
		b[++m] = ch - '0';
	}
	add();
	if (c[cnt + 1])
		printf("%d", c[cnt + 1]);
	for (int i = cnt; i >= 1; --i)
	{
		printf("%d", c[i]);
	}
	printf("\n");
//	fclose(stdin);
	return 0;
}

感谢大佬友情相助

2023/9/26 07:03
加载中...