分治演算法-骨牌鋪方格

HowieLee59發表於2019-03-20

Problem Description

在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖: 

Input

輸入資料由多行組成,每行包含一個整數n,表示該測試例項的長方形方格的規格是2×n (0< n<=50)。

Output

對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。

Sample Input

1
3
2

Sample Output

1
3
2

Hint

hdoj2046 有連結提示的題目請先去連結處提交程式,AC後提交到SDUTOJ中,以便查詢存檔。

Source

HDU LCY

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(){
    int a;
    long long int num[51];
    int count;
    while(~scanf("%d",&a)){
        count = 0;
        num[1] = 1;
        num[2] = 2;
        for(int i = 3 ; i <= a ; i++){
            num[i] = num[i - 1] + num[i - 2];
        }
        printf("%lld\n",num[a]);
    }
    return 0;
}

 

相關文章