评测有问题!!!
  • 板块P2437 蜜蜂路线
  • 楼主blm_xxc
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/27 19:07
  • 上次更新2024/11/27 20:50:39
查看原帖
评测有问题!!!
189495
blm_xxc楼主2024/11/27 19:07

这道题的评测纯纯的有问题!!!

看以下代码:

#include<bits/stdc++.h>
using namespace std;
struct BigInt{
	int a[10005];
	int len;
}ans[1005];
BigInt operator +(BigInt x,BigInt y){
	BigInt ans;
	ans.len=max(x.len,y.len);
	for(int i=0;i<ans.len;i++){
		ans.a[i]=x.a[i]+y.a[i];
	}
	for(int k=0;k<=ans.len;k++){
		ans.a[k+1]+=ans.a[k]/10;
		ans.a[k]%=10;
	}
	if(ans.a[ans.len]){
		ans.len++;
	}
	return ans;
}
void print(BigInt output){
	for(int i=output.len-1;i>=0;i--){
		printf("%d",output.a[i]);
	}
	return;
}
int main(){
	ans[1].a[0]=1;
	ans[1].len=1;
	ans[2]=ans[1];
	int m,n;
	scanf("%d%d",&m,&n);
	n=n-m+1;
	for(int i=3;i<=n;i++){
		ans[i]=ans[i-1]+ans[i-2];
	}
	print(ans[n]);
	return 0;
}

40分(WA on #3、#4、#5)

调了半天感觉没有问题(真的没有问题)

然后多加了个printf(" \n");,然后就……

莫名其妙地AC了!!!

代码如下:

#include<bits/stdc++.h>
using namespace std;
struct BigInt{
	int a[10005];
	int len;
}ans[1005];
BigInt operator +(BigInt x,BigInt y){
	BigInt ans;
	ans.len=max(x.len,y.len);
	for(int i=0;i<ans.len;i++){
		ans.a[i]=x.a[i]+y.a[i];
	}
	for(int k=0;k<=ans.len;k++){
		ans.a[k+1]+=ans.a[k]/10;
		ans.a[k]%=10;
	}
	if(ans.a[ans.len]){
		ans.len++;
	}
	return ans;
}
void print(BigInt output){
	for(int i=output.len-1;i>=0;i--){
		printf("%d",output.a[i]);
	}
	return;
}
int main(){
	ans[1].a[0]=1;
	ans[1].len=1;
	ans[2]=ans[1];
	int m,n;
	scanf("%d%d",&m,&n);
	n=n-m+1;
	for(int i=3;i<=n;i++){
		ans[i]=ans[i-1]+ans[i-2];
		//print(ans[i]);
		//printf("\n");
	}
	print(ans[n]);
	printf(" \n");
	return 0;
}

严厉谴责!!!(调了一个小时啊QAQ)

2024/11/27 19:07
加载中...