hdu_problem_2046_骨牌鋪方格
阿新 • • 發佈:2019-01-13
情況1:在n-1個格子後加一列,只能豎著放,所以是a[n-1]。
情況2:在n-2個格子後加兩列,只能橫著放兩個(豎著的屬於第一種),所以是a[n-2]。
/*
*
*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
*
*
*Author
*lcy
*
*
*Source
*遞推求解專題練習(For Beginner)
*
*
*Recommend
*lcy
*
*/
#include<iostream>
using namespace std;
long long a[100] = { 0,1,2 };
void func() {
for (int i = 3; i < 100; i++) {
a[i] = a[i - 1] + a[i - 2];
}
}
int main() {
int n;
func();
while (cin >> n) {
cout << a[n] << endl;
}
system("pause");
return 0;
}