为何90分,求大佬!!!

P1255 数楼梯

xhx0809 @ 2018-02-15 16:01:58

include<iostream>

include<cstring>

using namespace std;

string xiangjia(string num1,string num2) {

int 
n1c=num1.size(),n2c=num2.size(),d=n1c>n2c?n1c:n2c;
string ans="";
int a[d],b[d],c[100000];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=n1c-1,j=0;i>=0,j<n1c;i--,j++)
    a[j]=num1[i]-'0';
for(int i=n2c-1,j=0;i>=0,j<n2c;i--,j++)
    b[j]=num2[i]-'0';
for(int i=0;i<d;i++)
    c[i]=a[i]+b[i];
int w;
for(w=99999;w>=0;w--)
    if(c[w]!=0)
        break;
for(int i=0;i<=w;i++)
    if(c[i]>=10)
    {
        c[i+1]+=c[i]/10;
        c[i]%=10;
    }
for(int i=0;i<=w+1;i++)
    ans=char(c[i]+48)+ans;
if(ans[0]=='0')
    ans=ans.substr(1,ans.size()-1);
if(ans=="")
    ans='0';
return ans;

} int main()

{

int n;
cin>>n;
string s[5005];
s[0]="1";    s[1]="2";
if(!n)
{
    cout<<0;
    return 0;
}
for(int i=2;i<n;i++)
    s[i]=xiangjia(s[i-1],s[i-2]);
cout<<s[n-1];
return 0;

}


by origin_star @ 2018-02-15 18:15:14

哪一题


by xhx0809 @ 2018-03-02 18:43:41

额,1255


by lyhokia @ 2018-07-15 19:45:57

特判,0个台阶的走法是0种


by JustinRochester @ 2018-09-01 15:15:43

@lyhokia 其实本蒟蒻第一次也是这个点被卡掉了,请教一下大犇。0个楼梯不是方案数也该为1吗?0个楼梯就一步都不走,就是1个方案啊,而且感觉这样才符合斐波那契数列......符合数学之美


by lyhokia @ 2018-09-01 18:53:06

@JustinRochester 不清楚啊……我也是WA了一次才知道的


|