sary @ 2022-02-17 21:37:45
这道题前六个测试点我过了,但后面四个都wa了,由于测试点下载次数达到了今日上限,没法下载测试数据,自己也没找到bug.求助好心人给一下测试数据或者指出一下我代码错在什么地方,谢谢
by sary @ 2022-02-17 21:38:24
#include "iostream"
using namespace std;
typedef int lar[100];
lar reme[5010]={0};
bool been[5010]={0};
void add(lar &a1,lar &a2,lar &ans)
{
for (int i = 0; i < 99; ++i) {
ans[i]+=a1[i]+a2[i];
ans[i+1]+=ans[i]/10;
ans[i]=ans[i]%10;
}
}
void show(lar &show)
{
int n;
for (n = 99; show[n]==0 ; n--) {}
for(;n>=0;n--)
cout<<show[n];
cout<<endl;
}
void steps(int n)
{if(n<3)
return;
if(!been[n-1])
{
steps(n-1);
been[n-1]= true;
}
if(!been[n-2])
{
steps(n-2);
been[n-2]= true;
}
add(reme[n-1],reme[n-2],reme[n]);
}
int main()
{ reme[1][0]=1;
reme[2][0]=2;
been[0]=been[1]=been[2]= true;
int n;
cin>>n;
if(n==0)
{
cout<<0;
return 0;
}
steps(n);
show(reme[n]);
}
by sary @ 2022-02-17 21:45:36
找到错误了,百思不得其解下想了想是不是数组开小了,果然是.....我傻了