万恶的oj之hdoj2041

很久没oj过了。。也学了一些东西。。。就来了个难题

http://acm.hdu.edu.cn/showproblem.php?pid=2041

还是要做笔记。。。

#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;


int main()
{
    int a[45];    //数字弄大点。。不容易出错。。
    int n=0;
    int i=0;
    int k=0;

    scanf("%d",&n);
    int *sum=new int[n];
    a[0]=0;a[1]=1;
    for(i=2;i<=44;i++)                //先打表。。要不会超时。
    {
        a[i]=a[i-1]+a[i-2];
    }
    for(i=1;i<=n;i++)
    {
        scanf("%d",&k);
       sum[i-1]=a[k];
printf("%d\n",sum[i-1]);
    }
    delete[]sum;
    return 0;
}
题外话:
题目要求的输入输出结构:
Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output
对于每个测试实例,请输出不同走法的数量
 
 
其实就是一行输入,一行输出。。。

posted @ 2011-12-07 17:27  77695  阅读(268)  评论(0编辑  收藏  举报