SP1706 QKP - Queens, Knights and Pawns

题目描述

相信大家都已经很熟悉著名的「8 皇后问题」了,该问题要求将 8 个皇后放在一个棋盘上,使得它们互不攻击。在这道题目中,你会得到一些皇后、骑士和兵的初始位置,你需要找到棋盘上没有被皇后或骑士攻击到的格子数量,我们称这些格子为「安全格」。这里,兵只能用来阻挡,并没有攻击能力。下图展示的棋盘共有 6 个安全格子(阴影部分即为安全格)。 ![subir imagenes](https://cdn.luogu.com.cn/upload/vjudge_pic/SP1706/5fe08416d74fc1dbb5ce874c704a14d29774aaea.png) 回顾一下规则,骑士可以跳到以自身为中心的 2x3 矩形的对角线位置;皇后可以朝任何水平方向、垂直方向或对角线前进,但直到遇到阻挡者。请注意,骑士的行进不会被其他棋子阻挡。

输入格式

输入包含多组测试用例。每组测试数据由 4 行组成: 第一行包含两个整数 $n$ 和 $m$,分别表示棋盘的行数和列数,取值不超过 1000。 接下来的三行以以下格式给出,分别表示皇后、骑士和兵的位置: _k r$_{1} c$_{1} r$_{2} c$_{2} · · · r$_{k} c$_{k}_ 其中,$k$ 为当前棋子的数量,$r_i$ 和 $c_i$ 分别表示第 $i$ 个棋子所在的行和列,行和列的编号从 1 开始。每种棋子的数量不超过 100。当 $n = m = 0$ 时,表示输入结束。

输出格式

对于每组测试数据,输出格式如下: **_Board b has s safe squares._** 其中,_b_ 是棋盘的编号(从 1 开始),_s_ 是安全格子的数量。 **本翻译由 AI 自动生成**