c++为啥RE
查看原帖
c++为啥RE
1283951
csxx601cjy楼主2024/6/14 21:39

本来30分的,改了一下RE了9个 我记得RE不是下标超了吗,为什么我会RE

#include<bits/stdc++.h>
using namespace std;
string t1,t2;
const int N=10e7+5;
int a[N]={},b[N]={},l,c=0;
void Plus(int a[],int b[]){
	for(int i=0;i<l;i++){
		if((a[i]-b[i])<0){a[i]+=10;a[i+1]--;if(i==0)l--;};
		a[i]=a[i]-b[i];
	}
}
int main(){
	cin>>t1>>t2;
	bool p=0,f=0;
	if(stoi(t1)<stoi(t2)){p=1;swap(t1,t2);}
	l=max(t1.size(),t2.size());
	for(int i=t1.size()-1;i>=0;i--)a[c++]=t1[i]-'0';
	c=0;
	for(int i=t2.size()-1;i>=0;i--)b[c++]=t2[i]-'0';
	Plus(a,b);
	if(p)cout<<'-';
	for(int i=l-1;i>=0;i--){
		if(a[i]==0&&f)cout<<0;
		else if(!f&&a[i]!=0){cout<<a[i];f=1;}
		else if(a[i]!=0)cout<<a[i];
	}
	return 0;
}
2024/6/14 21:39
加载中...