lqrs @ 2020-07-01 20:48:02
#include <iostream>
using namespace std;
int ans[5005][1000] = {{0},{1},{2}} , len=0;
void fun(int n)
{
int i , a , b , c;
for(i=0;i<=len;i++){
a = ans[n-1][i] , b = ans[n-2][i] , c = ans[n][i];
if(a+b+c>9) ans[n][i] = a+b+c-10 , ans[n][i+1]++;
else ans[n][i] = a+b+c;
}
if(ans[n][len+1]) len++;
}
int main()
{
int n ;
cin >> n ;
for(int i=3;i<=n;i++)
fun(i);
for(int i=len;i>=0;i--)
cout << ans[n][i];
return 0 ;
}
by JRzyh @ 2020-07-01 20:52:41
@lqrs 特判
by fresh_boy @ 2020-07-01 21:11:19
这是数楼梯.....蒟蒻没看出来,真的
by SIXIANG32 @ 2020-07-01 21:12:06
@lqrs
为啥我记得这要高精度啊QwQ
一定是我神经过敏了QAQ
by lqrs @ 2020-07-01 21:18:11
@Zhaoyuhang2008 我数组开小了,还是谢谢你!ahhhhhh
by lqrs @ 2020-07-01 21:19:45
第二个点数据有点大ahhhhhhh我还以为测试点的数据是越到后面数据越大
by root1729 @ 2020-08-04 20:02:40
@lqrs 对对对,我也是数组开小了,超过一千位的数我也没想到的
by lqrs @ 2021-07-21 09:07:30
哈哈哈哈哈谢谢大家,我是数组开小了