1018骨牌鋪方格(分治演算法)
阿新 • • 發佈:2020-12-05
Description
在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
Input
輸入包含一個整數n,表示該測試例項的長方形方格的規格是2×n (0< n<=50)。
Output
輸出鋪放方案的總數。
Sample
Input
3
Output
3
Hint
hdoj2046有連結提示的題目請先去連結處提交程式,AC後提交到SDUTOJ中,以便查詢存檔。
1 #include <iostream> 2 #include <stdio.h> 3#include <string> 4 #include <string.h> 5 #include <algorithm> 6 #include <math.h> 7 #include <map> 8 #include <vector> 9 10 using namespace std; 11 12 int main() 13 { 14 long long n, i, a[55]; 15 a[0] = 0; 16 a[1] = 1; 17 a[2] = 2; 18 for(i=3; i<=52; i++) 19 { 20 a[i] = a[i-1] + a[i-2]; 21 } 22 while(cin >> n) 23 { 24 cout << a[n] << endl; 25 } 26 return 0; 27 }