0pts WA,蒟蒻求调!
查看原帖
0pts WA,蒟蒻求调!
521554
W1ngD1nGa5ter楼主2025/1/6 19:33

本地测试良好,样例&第一个点良好,但测评时全WA

#include <bits/stdc++.h>
using namespace std;
int B;
class bint
{
	int num[2002];
	int len = 0;
	int ctoi(const char &c)
	{
		if (isdigit(c))
			return c - '0';
		return c - 'A' + 10;
	}
	char itoc(const int &x)
	{
		if (x < 10)
			return x + '0';
		return 'A' + x - 10;
	}

public:
	bint() {}
	void read()
	{
		char c;
		for (len = 0;;)
		{
			cin.get(c);
			if (isspace(c))
				break;
			num[++len] = ctoi(c);
		}
		reverse(num + 1, num + len + 1);
	}
	void print()
	{
		for (int i = len; i > 0; --i)
			cout << itoc(num[i]);
	}
	bint operator+=(const bint &b)
	{
		int up = 0;
		len = max(len, b.len);
		for (int i = 1; i <= len; ++i)
		{
			num[i] += b.num[i] + up;
			if (num[i] >= B)
				num[i] -= B, up = 1;
			else
				up = 0;
		}
		if (up)
			num[++len] = 1;
		return *this;
	}
};
int main()
{
	cin >> B;
	cin.get();
	bint a, b;
	a.read(), b.read();
	a += b;
	a.print();
	cout << endl;
	return 0;
}
2025/1/6 19:33
加载中...