51Nod 1031 骨牌覆蓋

2021-08-25 19:43:19 字數 638 閱讀 8388

題意

在2*n的乙個長方形方格中,用乙個1*2的骨牌排滿方格。問有多少種不同的排列方法。例如:2 * 3的方格,共有3種不同的排法。(由於方案的數量巨大,只輸出 mod 10^9 + 7 的結果)

輸入

輸入n(n <= 1000)

輸出

輸出數量 mod 10^9 + 7

樣例輸入

3
樣例輸出

3
分析遞推方程為f(n)=f(n-1)+f(n-2)

c++程式

#includeusing namespace std;

const long long mod=1e9+7;

long long fun(int n)

int main()

51NOD 1031 骨牌覆蓋

1031 骨牌覆蓋 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 在2 n的乙個長方形方格中,用乙個1 2的骨牌排滿方格。問有多少種不同的排列方法。例如 2 3的方格,共有3種不同的排法。由於方案的數量巨大,只輸出 mod 10 9 7 的結果 輸入n n 10...

51nod 1031 骨牌覆蓋

在2 n的乙個長方形方格中,用乙個1 2的骨牌排滿方格。問有多少種不同的排列方法。例如 2 3的方格,共有3種不同的排法。由於方案的數量巨大,只輸出 mod 10 9 7 的結果 input 輸入n n 1000 output 輸出數量 mod 10 9 7 input示例 3 output示例 3...

51nod 1031 骨牌覆蓋

對於長為n來說,相當於n 1在後面加了乙個豎著放的,對於n 2來說相當於加了乙個2 2的格仔,但是對於乙個2 2的格仔本來有兩種畫法,由於豎著畫的那種和n 1的部分有重疊,所以只加一次即可,對於n 3,會發現三種擺法都在n 1和n 2的方法中出現過了,所以遞推公式就是f n f n 1 f n 2 ...