爆零求助,求大佬Debug
查看原帖
爆零求助,求大佬Debug
631544
li_cat楼主2024/5/3 12:28

评测记录

#include <bits/stdc++.h>
#define str string
#define MAXN 114514
using namespace std;
int a[MAXN],b[MAXN],c[MAXN];
str sa,sb;
bool da(int x[],int y[],int l,int r){
	if(x[l+r]) return true;
	for(int i=r;i>=l;--i){
		if(x[i]>y[i]) return true;
		if(x[i]<y[i]) return false;
	}
	return true;
}
int main(){
	cin>>sa>>sb;
	int la=sa.size(),lb=sb.size();
	for(int i=1;i<=la;++i) a[i]=sa[la-i]-'0';
	for(int i=1;i<=lb;++i) b[i]=sb[lb-i]-'0';
	for(int i=la-lb;i>=1;--i){
		while(da(a,b,i,lb)){
			++c[i];
			for(int j=0;j<lb;++j){
				a[j+i]-=b[j];
				if(a[j+i]<0){a[j+i+1]--;a[j+i]+=10;}
			}
		}
	}
	int i=la;
	for(;i>=1;--i) if(c[i]) break;
	if(!c[i]) cout<<0;
	for(;i>=1;--i) cout<<c[i];
	return 0;
}
2024/5/3 12:28
加载中...