巴尔扎哈的疑惑 南邮NOJ2070

来源:互联网 发布:redis java lrange 编辑:程序博客网 时间:2024/05/13 09:22

马尔扎哈的疑惑

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 247            测试通过 : 76 

题目描述

    众所周知,虚空先知马尔扎哈的被动技能可以召唤宠物用来辅助战斗,但可惜的是,宠物数量最多只能有3个,显然,这不够强力。

    最近,通过马尔扎哈的不懈努力,终于改进了这个技能——他第1秒时只有一个宠物,该宠物每过一秒又可以生出一个新宠物,而新宠物从他出生的第3秒开始,每过一秒也可以生出一个新宠物,新的宠物也以此类推。

    请问,在第n秒时,马尔扎哈总共有多少个宠物?



输入

先输入一个正整数T,表示样例个数,1T100;

对于每一个测试样例,输入一个正整数n,表示第n秒,1n55。

输出

对于每一个测试样例,输出第n秒时,马尔扎哈拥有的宠物数。

题目保证结果在int范围内。

样例输入

2
4
5

样例输出

4
6


跟做的一道求第N年树木枝干的数目有些相似。

#include <cstdio>int a[56];int main(){    int n;    scanf("%d", &n);    int x;    a[1] = 1;    a[2] = 2;    a[3] = 3;    for(int i = 4; i <= 61; i++)        a[i] = a[i - 1] + a[i - 3];    while(n--)    {        scanf("%d", &x);        printf("%d\n",a[x]);    }}

起初第一次做这样的,不知道优化题解,这是参考田神的做法。

0 0
原创粉丝点击