Corn Fields牧场的安排

提交数: 12, 通过率: 91.67%, 平均分: 91.67

题目描述:

农场主 \(\rm John\) 新买了一块长方形的新牧场,这块牧场被划分成 \(M\) 行 \(N\) 列 \((1 \le M \le 12, 1 \le  N \le 12)\),每一格都是一块正方形的土地。 \(\rm John\) 打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。

遗憾的是,有些土地相当贫瘠,不能用来种草。并且,奶牛们喜欢独占一块草地的感觉,于是 \(\rm John\) 不会选择两块相邻的土地,也就是说,没有哪两块草地有公共边。

\(\rm John\) 想知道,如果不考虑草地的总块数,那么,一共有多少种种植方案可供他选择?(当然,把新牧场完全荒废也是一种方案)

输入格式:

第一行:两个整数 \(M\) 和 \(N\),用空格隔开。

第 \(2\) 到第 \(M+1\) 行:每行包含 \(N\) 个用空格隔开的整数,描述了每块土地的状态。第 \(i+1\) 行描述了第 \(i\) 行的土地,所有整数均为 \(0\) 或 \(1\) ,是 \(1\) 的话,表示这块土地足够肥沃,\(0\) 则表示这块土地不适合种草。

输出格式:

一个整数,即牧场分配总方案数除以 \(100,000,000\) 的余数。

样例输入:

2 3
1 1 1
0 1 0

样例输出:

9

提示:

样例说明
只开脖一块草地的话,有4种方案,开辟两块草地的话,有3种方案,选三块草地只有一种方案。再加把牧场荒废的那一种,总方案数为4 +3+ 1+1= 9种。

时间限制: 1000ms
空间限制: 64MB

来源: Usaco2006 Nov Gold