time limit: 2000/1000 ms (java/others) memory limit: 65536/32768 k (java/others)
total submission(s): 27095 accepted submission(s): 13089
problem description
在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.
例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
input
輸入資料由多行組成,每行包含一個整數n,表示該測試執行個體的長方形方格的規格是2×n (0<n<=50)。
output
對于每個測試執行個體,請輸出鋪放方案的總數,每個執行個體的輸出占一行。
sample input
sample output
分析:
1、n 張牌可以由 n - 1 張牌後面再加一張豎着放的牌得到,還可以由 n - 2 張牌後面再加兩張牌得到。
2、n - 2 張牌後面再加兩張牌的情況隻能是加兩張橫着放的,如果加兩張豎着放的牌會和“ n - 1 張牌後面再加一張牌”的情況重複。
3、綜上所述,f ( n ) = f ( n - 1 ) + f ( n - 2 ) 斐波那契數列!