社区讨论
评测机有毒
P1601高精度加法参与者 1已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi6mb7gs
- 此快照首次捕获于
- 2025/11/20 07:12 4 个月前
- 此快照最后确认于
- 2025/11/20 07:12 4 个月前
全WA爆零,但是下数据在本地跑是没问题的(第一组就是123+123=246啊),随手滚键盘造几组数据用py验也没问题。
CPP#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
typedef vector<int> bignum;
void scan(vector<int> &x)
{
char c;
while(!isdigit(c = getchar()));
x.clear();
do
x.push_back(c - '0');
while(isdigit(c = getchar()));
for (int i = 0, j = x.size() - 1; i <= j; i++, j--)
swap(x[i], x[j]);
}
bignum add(const bignum &x, const bignum &y)
{
bignum z;
int push, bit, i;
for (i = 0; i < max(x.size(), y.size()); i++)
{
bit = push;
if (i < x.size())
bit += x[i];
if (i < y.size())
bit += y[i];
z.push_back(bit % 10);
push = bit / 10;
}
if (push)
z.push_back(push);
return z;
}
void print(const bignum &x)
{
for (int i = x.size() - 1; i >= 0; i--)
cout << x[i];
}
bignum x, y, z;
int main()
{
scan(x), scan(y);
print(add(x, y));
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...