zoukankan      html  css  js  c++  java
  • HDU 2501 Tiling_easy version(简单递推)

    Tiling_easy version

    Problem Description
    有一个大小是 2 x n 的网格,现在需要用2种规格的骨牌铺满,骨牌规格分别是 2 x 1 和 2 x 2,请计算一共有多少种铺设的方法。
     
    Input
    输入的第一行包含一个正整数T(T<=20),表示一共有 T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示网格的大小是2行N列。
     
    Output
    输出一共有多少种铺设的方法,每组数据的输出占一行。
     
    Sample Input
    3
    2
    8
    12
     
    Sample Output
    3
    171
    2731
     
    分析:开始刷水题了
      递推关系是f[n]=f[n-1]+2*f[n-2]
     
    代码如下:
     1 # include<stdio.h>
     2 int f[31]={0,1,3};
     3 void init(){
     4     for(int i=3; i<31; i++)
     5         f[i] = f[i-1] + 2*f[i-2];
     6 }
     7 int main(){
     8     int T;
     9     init();
    10     scanf("%d",&T);
    11     while(T--){
    12         int n;
    13         scanf("%d",&n);
    14         printf("%d
    ",f[n]);
    15     }
    16     return 0;
    17 }
  • 相关阅读:
    【NOIP2011】观光公交
    【NOIP2014】飞扬的小鸟
    HDU
    [Tyvj 1728]普通平衡树
    【NOIP2012】 疫情控制
    洛谷P1613 跑路
    [HNOI2002]营业额统计
    3486 ( Interviewe )RMQ
    poj2019 二维RMQ裸题
    动态规划专题
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/3294690.html
Copyright © 2011-2022 走看看