C. 牛宝宝的中国象棋

    Type: Default File IO: chess 1000ms 256MiB

牛宝宝的中国象棋

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

编题好累,直接说题意了: 在一个n*m的矩阵中,现在有若干个中国象棋棋子,现在需要新加一枚棋子到空白处, 求有多少种方案使得新加的棋子不被已有的棋子攻击? 象棋棋子移动规则:(同中国象棋) 帅(或者将) 可一次向上下左右移动一个单位 车 可沿水平或者垂直方向一次移动多个单位,中间不能有棋子隔开 马 可走"日"字,但是不能在"日"字长边与马相邻出有棋子 炮 可沿水平或者垂直方向越过最近一个棋子移动到次近的棋子处 象 可走"田"字,但是"田"字中央不能有棋子存在 士 可向斜线放下一次移动一个单位 兵 可一次向上下左右移动一个单位

输入格式

测试数据先输入两个整数n,m,(1<=n,m<=1000)代表矩阵的长和宽 接下来n行,每行m个数字,代表初始棋盘状态: 0表示空白 1表示帅(或者将) 2表示车 3表示马 4表示炮 5表示象 6表示士 7表示兵

输出格式

对于每组测试数据,输出答案。

3 3
000
010
000
4

附件

file

提示

对于20%的数据,棋盘上没有任何棋子

对于50%的数据,棋盘上没有炮和车

对于100%的数据,n,m1000n,m\le1000

科技特长生测试

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2025-6-24 8:30
End at
2025-6-24 11:30
Duration
3 hour(s)
Host
Partic.
6