求助#10 WA
查看原帖
求助#10 WA
411731
lyliie楼主2022/10/5 22:09
#include<iostream>
#include<vector>
#include<cstring>

using namespace std;

const int N = 1e4 + 100;
char a[N], b[N];
vector<int> A, B, C;

vector<int> sub(vector<int> &A, vector<int> &B)
{
	int t = 0;
	for(int i = 0; i < A.size(); i ++ )
	{
		if(A[i] < B[i])
		{
			A[i + 1] --;
			A[i] += 10;
		}
		C.push_back(A[i] - B[i]);
	}
	while(C.back() == 0 && C.size() > 1)C.pop_back();
	return C;
}

int main()
{
	cin >> a >> b;
	if(strlen(a) < strlen(b)||(strlen(a) == strlen(b) && strcmp(a, b) < 0))
	{
		char s[N];
		strcpy(s, a);
		strcpy(a, b);
		strcpy(b, s);
		cout<<'-';
	}
	for(int i = strlen(a) - 1; i >= 0; i -- )A.push_back(a[i] - '0');
	for(int i = strlen(b) - 1; i >= 0; i -- )B.push_back(b[i] - '0');
	C = sub(A, B);
	for(int i = C.size() - 1; i >= 0; i -- )cout << C[i];
	return 0;
}
2022/10/5 22:09
加载中...