评测机是不是有问题啊
查看原帖
评测机是不是有问题啊
858671
GeorgeAAAADHD楼主2023/2/25 11:43

#1 AC

其他全错了

可是我在电脑上输出的是一模一样的结果。

#include<bits/stdc++.h>
using namespace std;
int a[200005]={0},b[200005]={0},c[200005]={0},d[200005],n,sum,m,t;
int wei(int a){
	int n=0;
	do{
		n++;
		a/=10;
	}while(a);
	return n;
}
void equ(int a[],int b[]){
	for(int i=0;i<=b[0];i++)a[i]=b[i];
}
void in(int a[]){
	string b;
	getline(cin,b);
	while(b[0]=='0'&&b.length()>1)b.erase(0,1);
	a[0]=b.length();
	for(int i=a[0];i;i--){
		a[i]=b[a[0]-i]-'0';
	}
}
void out(int a[]){
	for(int i=a[0];i;i--){
		cout<<a[i];
	}
}
void add(int a[],int b[],int c[]){
	int len=max(a[0],b[0]);
	for(int i=1;i<=len;i++){
		c[i]=a[i]+b[i];
	}
	for(int i=1;i<=len;i++){
		c[i+1]+=c[i]/10;
		c[i]%=10;
	}
	if(c[len+1]==1){
		c[0]=len+1;
	}
	else{
		c[0]=len;
	}
}
void sub(int a[],int b[],int c[]){
	int len=a[0];
	for(int i=1;i<=len;i++){
		c[i]=a[i]-b[i];
	}
	for(int i=1;i<=len;i++){
		if(c[i]<0){
			c[i+1]--;
			c[i]+=10;
		}
	}
	c[0]=len;
	while(c[c[0]]==0){
		c[0]--;
	}
}
void mul_d(int a[],int b,int c[]){
	int s,mx=wei(b)+a[0];
	for(int i=1;i<=a[0];i++){
		s=a[i]*b;
		int x=i+wei(s);
		for(int j=i;j<x;j++){
			c[j]+=s%10;
			s/=10;
		}
	}
	for(int i=1;i<=mx;i++){
		if(c[i]>=10){
			c[i+1]+=c[i]/10;
			c[i]%=10;
		}
	}
	c[0]=mx+1;
	while(c[c[0]]==0)c[0]--;
}
int div_d(int a[],int b,int c[]){
	long long sum=0;
	c[0]=a[0];
	for(int i=a[0];i;i--){
		sum=sum*10+a[i];
		c[i]=sum/b;
		sum%=b;
	} 
	while(c[c[0]]==0&&c[0]>1)c[0]--;
	return sum;
}
int main(){
	in(a);
	if(a[1]==0&&a[0]==1){
		cout<<0;
		return 0;
	}
	cin>>n;
	div_d(a,n,b);
	out(b);
	return 0;
}
2023/2/25 11:43
加载中...