请问这个为啥50呢?哪里有问题呢?

P1255 数楼梯

savitar01 @ 2021-01-30 23:31:59


using namespace std;

long long int move (int n)
{
    long long int s=0;
    if (n>2)
        s=move(n-1)+move(n-2);
    else if (n==2)
        s=2;
    else if (n==1)
        s=1;
    return s;
}
int main ()
{
    int n=0;
    cin>>n;
    cout<<move(n);
}```

by whhsteven @ 2021-01-31 00:40:01

你的提交是 50 AC、50 TLE 了。

TLE 是 Time Limit Exceeded,超时,说明算法复杂度过高。

本题有很多重复计算项,应使用记忆化搜索或 DP。


by sinsop90 @ 2021-01-31 06:54:07

这道题是要用高精做的


by savitar01 @ 2021-01-31 08:55:49

@whhsteven 谢谢你


by savitar01 @ 2021-01-31 08:56:20

@sinsop90 谢谢


by justinjia @ 2021-02-09 10:30:54

@savitar01 您头呢?


|