刚从A+Bproblem过来,20分求调
查看原帖
刚从A+Bproblem过来,20分求调
1432337
cxf2012楼主2024/12/8 16:18
#include<bits/stdc++.h>
using namespace std;
string m, n;
int a[21000], b[21000], c[21000] = {0}, len;
void k() {
	string k = n;
	n = m;
	m = k;
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
//	freopen("P2142_2.in","r",stdin);
//	freopen("P2142.out","w",stdout);
	cin >> n >> m;
	if (n < m && n.size() == m.size()) {
		k();
		cout << '-';
	} else if (n.size() < m.size()) {
		k();
		cout << '-';
	}
	for (int i = 0; i < n.size(); i++)a[n.size() - i - 1] = n[i] - '0';
	for (int i = 0; i < m.size(); i++)b[m.size() - i - 1] = m[i] - '0';
	len = max(m.size(), n.size());
	for (int i = 0; i < len; i++) {
		c[i] += a[i] - b[i];
		if (c[i] < 0) {
			c[i] += 10 ;
			c[i + 1] -= 1;
		}
	}
	if (c[len] != 0)len = len + 1;
	cout<<c[len-1];
	for (int i = len - 2; i >= 0; i--)if(c[i]!=0)cout << c[i];
	return 0;
}

只AC了第二个和第六个测试点

求调啊QAQ

2024/12/8 16:18
加载中...