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