60pts求助
查看原帖
60pts求助
857323
linxuanrui楼主2023/1/19 22:23
#pragma GCC optmize(2)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[11505],b[11505],c[11505],lena,lenb,len;
bool pd;
string s,ss;
void jia() {
	int jw = 0;
	for(int i = 1; i <= max(lena,lenb) + 1; i++) {
		c[i] = (a[i] + b[i] + jw) % 10;
		jw = (a[i] + b[i] + jw) / 10;
	}
	len = max(lena,lenb);
	while(c[len + 1])len++;
}
void jian() {
	int tw = 0;
	for(int i = 1; i <= max(lena,lenb) + 1; i++) {
		c[i] = (a[i] - b[i] - tw + 10) % 10;
		tw = a[i] - b[i] - tw < 0;
	}
	len = max(lena,lenb) + 1;
	while(!c[len])len--;
}
void print(){
	for(int i = len;i >= 1;i--)cout << c[i];
}
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> s >> ss;
	if((s < ss && s.size() == ss.size()) || s.size() < ss.size()){
		swap(s,ss);
		pd = true;
	}
	if(s == ss){
		cout << 0;
		return 0;
	}
	lena = s.size();
	lenb = ss.size();
	for(int i = 1; i <= s.size(); i++)a[i] = s[s.size() - i] - '0';
	for(int i = 1; i <= ss.size(); i++)b[i] = ss[ss.size() - i] - '0';
	jian();
	if(pd)putchar('-');
	print();
}

本地运行都对了呀: 怎么交上去就错了呢?

2023/1/19 22:23
加载中...