• HDU 统计问题


    统计问题

    Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 137 Accepted Submission(s): 94  

    Problem Description
    在一无限大的二维平面中,我们做如下假设:
    1、  每次只能移动一格;
    2、  不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走);
    3、  走过的格子立即塌陷无法再走第二次;

    求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。
     
    Input
    首先给出一个正整数C,表示有C组测试数据
    接下来的C行,每行包含一个整数n (n<=20),表示要走n步。
     
    Output
    请编程输出走n步的不同方案总数;
    每组的输出占一行。
     
    Sample Input
    2
    1
    2
     
    Sample Output
    3
    7
    递归公式为:a[n] = 2*a[n-1] + a[n-2]
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int a[21];
        a[0] = 0;
        a[1] = 3;
        a[2] = 7;
        for(int i = 3;i < 21; i++)
        a[i] = 2*a[i-1]+a[i-2];
        int T,n;
        cin>>T;
        while(T--)
        {
            cin>>n;
            cout<<a[n]<<endl;
        }
        return 0;
    }
  • 相关阅读:
    最近ACM刷题见到的没见过的名词
    最近刷题常常遇见的需要百度的知识点
    简单RPG场景实现(改
    简单RPG场景实现
    位图载入与位图移动
    动态菜单
    静态菜单
    双人五子棋
    HDU 2112 HDU Today
    音痴又音痴的LT
  • 原文地址:https://www.cnblogs.com/newpanderking/p/2123419.html
Copyright © 2020-2023  润新知