#P3160. [CQOI2012] 局部极小值

    ID: 2096 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>动态规划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