描述
上一周我們研究了2xn的骨牌問題,這一周我們不妨加大一下難度,研究一下3xn的骨牌問題?
所以我們的題目是:對於3xn的棋盤,使用1x2的骨牌去覆蓋一共有多少種不同的覆蓋方法呢?
首先我們可以肯定,奇數長度一定是沒有辦法覆蓋的;對於偶數長度,比如2,4,我們有下面幾種覆蓋方式:
輸入第1行:1個整數n。表示棋盤長度。1≤n≤100,000,000
輸出第1行:1個整數,表示覆蓋方案數 mod 12357
樣例輸入
62247088樣例輸出
4037
/*上一周我們研究了2xn的骨牌問題,這一周我們不妨加大一下難度,研究一下3xn的骨牌問題?
所以我們的題目是:對於3xn的棋盤,使用1x2的骨牌去覆蓋一共有多少種不同的覆蓋方法呢?
首先我們可以肯定,奇數長度一定是沒有辦法覆蓋的;對於偶數長度,比如2,4,我們有下面幾種覆蓋方式:
*/#define ll long long
#include using namespace std;
const int maxn= 100000000;
const int constn = 8;
const ll mod = 12357;
int n;
ll re = 0;
int c[constn][constn] =;
typedef struct matrix{
int (*a)[constn];
matrix(int (*b)[constn]){
a = new int [constn][constn];
for(int i=0;i>n){
if(n%2==1) {
cout<
骨牌覆蓋問題
骨牌覆蓋問題,就是用 1x2 大小的骨牌,鋪設乙個給定大小的乙個矩形區域,要求必須鋪滿,且不可以超出邊界。問總的鋪設方案數字多少?這一類問題就是骨牌覆蓋問題。不同規模的資料有不同的方法。下面來看看最簡單的 2 n 區域裡面的鋪設方法數。n 0,一種 n 1 為一種 n 2,兩種 n 3,5種 較為容...
骨牌覆蓋問題
骨牌覆蓋問題 用1 2骨牌完美覆蓋n m棋盤,求方案數 如果骨牌橫著放,只能兩個橫著的骨牌摞在一起 如果豎著放,恰好佔一列 所以dp i dp i 1 dp i 2 即斐波那契數列 可以想到乙個遞推式 f n a2 f n 2 a4 f n 4 a6 f n 6 an f 0 ai i是偶數 是未知...
hihoCoder 骨牌覆蓋問題 一
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述骨牌,一種古老的玩具。今天我們要研究的是骨牌的覆蓋問題 我們有乙個2xn的長條形棋盤,然後用1x2的骨牌去覆蓋整個棋盤。對於這個棋盤,一共有多少種不同的覆蓋方法呢?舉個例子,對於長度為1到3的棋盤,我們有下面幾種覆蓋方式 ...