狀態壓縮DP 玉公尺田

2021-10-06 15:42:14 字數 1335 閱讀 3858

農夫約翰的土地由m*n個小方格組成,現在他要在土地裡種植玉公尺。

非常遺憾,部分土地是不育的,無法種植。

而且,相鄰的土地不能同時種植玉公尺,也就是說種植玉公尺的所有方格之間都不會有公共邊緣。

現在給定土地的大小,請你求出共有多少種種植方法。

土地上什麼都不種也算一種方法。

輸入格式

第1行包含兩個整數m和n。

第2…m+1行:每行包含n個整數0或1,用來描述整個土地的狀況,1表示該塊土地肥沃,0表示該塊土地不育。

輸出格式

輸出總種植方法對100000000取模後的值。

資料範圍

1≤m,n≤121≤m,n≤12

輸入樣例:

2 31 1 1

0 1 0

輸出樣例:

9

#include

#include

#include

#include

#include

using

namespace std;

const

int n =

14, m =

1<<

12, mod =

1e8;

int n, m;

vector<

int> state;

vector<

int> head[m]

;int f[n]

[m];

int w[n]

;bool

check

(int state)

intmain()

for(

int i =

0; i <

1<< m; i ++)if

(check

(i))

state.

push_back

(i);

for(

int i =

0; i < state.

size()

; i ++

)for

(int j =

0; j < state.

size()

; j ++

) f[0]

[0]=

1;for(

int i =

1; i <= n +

1; i ++

)for

(int j =

0; j < state.

size()

; j ++)}

cout << f[n +1]

[0]<< endl;

return0;

}

ACWing 327 玉公尺田(狀態壓縮dp入門)

農夫約翰的土地由m n個小方格組成,現在他要在土地裡種植玉公尺。非常遺憾,部分土地是不育的,無法種植。而且,相鄰的土地不能同時種植玉公尺,也就是說種植玉公尺的所有方格之間都不會有公共邊緣。現在給定土地的大小,請你求出共有多少種種植方法。土地上什麼都不種也算一種方法。輸入格式 第1行包含兩個整數m和n...

狀壓DP 玉公尺田

農夫約翰的土地由m n個小方格組成,現在他要在土地裡種植玉公尺。非常遺憾,部分土地是不育的,無法種植。而且,相鄰的土地不能同時種植玉公尺,也就是說種植玉公尺的所有方格之間都不會有公共邊緣。現在給定土地的大小,請你求出共有多少種種植方法。土地上什麼都不種也算一種方法。輸入格式 第1行包含兩個整數m和n...

AcWing 327 玉公尺田 狀態壓縮動態規劃)

農夫約翰的土地由 m times n 個小方格組成,現在他要在土地裡種植玉公尺。非常遺憾,部分土地是不育的,無法種植。而且,相鄰的土地不能同時種植玉公尺,也就是說種植玉公尺的所有方格之間都不會有公共邊緣。注意 這裡是上下左右邊緣,不是兩斜對角邊緣 現在給定土地的大小,請你求出共有多少種種植方法。土地...