牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) H.了断局-递推
H.了断局
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
既然是了断局了,大家就随便玩玩数字呗。 已知一个数列前10项分别是 {0, 1, 1, 2, 4, 7, 13, 24, 44, 81} 小G不满足呀:我要更多的数!!!不给就不让你们玩了。 小G会问你第n项是什么数字,请回答这个顽皮的孩子吧。
输入描述:
多组数据输入输出;
第一行输入一个整数n(1<=n<=50)
输出描述:
输出数列中的第n个数。
示例1
输入
1 2 3
输出
0 1 1
这个题自己看一下给的那些数,很容易发现就是递推。
代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cstdlib> 6 #include<string.h> 7 #include<set> 8 #include<vector> 9 #include<queue> 10 #include<stack> 11 #include<map> 12 #include<cmath> 13 using namespace std; 14 typedef long long ll; 15 const int inf=0x3f3f3f3f; 16 double PI=acos(-1.0); 17 const int maxn=1e5+100; 18 ll a[maxn]; 19 int main(){ 20 a[0]=0;a[1]=0;a[2]=1;a[3]=1; 21 for(int i=4;i<60;i++){ 22 a[i]=a[i-1]+a[i-2]+a[i-3]; 23 } 24 int n; 25 while(~scanf("%d",&n)){ 26 printf("%lld\n",a[n]); 27 } 28 return 0; 29 }
剩下的题目不想补了。最近心态有点崩。要好好看看算法,看书和博客,算法还是王道,不能一直写题,要不然不会的还是不会。只写会的题还是一直菜。
我爱学习,学习使我快乐(啊呸)