#P3160. [CQOI2012] 局部极小值

    ID: 2214 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>动态规划,dp2012重庆各省省选状态压缩容斥

[CQOI2012] 局部极小值

题目描述

有一个 nnmm 列的整数矩阵,其中 11n×mn\times m 之间的每个整数恰好出现一次。

如果一个格子比所有相邻格子(相邻是指有公共边或公共顶点)都小,我们说这个格子是局部极小值。给出所有局部极小值的位置,你的任务是判断有多少个可能的矩阵。

答案对 12,345,67812{,}345{,}678 取模。

输入格式

输入第一行包含两个整数 nnmm,即行数和列数。

以下 nn 行每行 mm 个字符,第 (i+1)(i + 1) 行的第 jj 个字符代表第 ii 列的第 jj 个格子是否是局部极小值,该字符只可能是 X.,其中 X 表示局部极小值,. 表示非局部极小值。

输出格式

输出仅一行,为可能的矩阵总数除以 1234567812345678 的余数。

3 2
X.
..
.X
60

提示

数据规模与约定

  • 对于 100%100\% 的数据,保证 1n41\le n\le41m71\le m\le7