P1255 数楼梯

#include<iostream>
#include<cstring>
using namespace std;
int a[5001],b[5001],c[5001],len=1;
int main()
{
    int n;cin>>n;
    a[1]=1,b[1]=2;
    for(int i=3;i<=n;i++)
    {
        memset(c,0,sizeof(c));
        for(int j=1;j<=len;j++)
        {
            c[j]+=a[j]+b[j];
            c[j+1]+=c[j]/10;c[j]%=10;if(c[len+1]) len++;
        }
        for(int j=1;j<=len;j++) a[j]=b[j];
        for(int j=1;j<=len;j++) b[j]=c[j];
        //c=a+b;a=b;b=c;
    }
    if(n==1) cout<<1;
    else if(n==2) cout<<2;
    else
    for(int i=len;i>=1;i--) cout<<c[i];
    return 0;
}

版权声明 :

若文中无特殊说明,则本文为原创文章,版权归 幻沙 所有。
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。

本文链接:

https://crash-logs.cn/wrong/crash-2021-05-15_169-client.txt
1 + 7 =
快来做第一个评论的人吧~