SP1538 MKJUMPS - Making Jumps

题目描述

在国际象棋中,马是一个独特的棋子。标准棋盘是一个方格阵列,每次马移动时,位置会改变为从原来的位置向前两行一列或向前两列一行。因此,坐标为 $(r, c)$ 的马可以移动到以下位置中的任意一个:$(r-2, c-1)$、$(r-2, c+1)$、$(r-1, c-2)$、$(r-1, c+2)$、$(r+1, c-2)$、$(r+1, c+2)$、$(r+2, c-1)$ 或 $(r+2, c+1)$。当然,马不能移动到不在棋盘上的位置。 现在,假设棋盘并不是标准的方形,而是每行可能包含不同数量的列,并且每一行相对于上一行可能会向右偏移一定的列数。左图展示了一个这样的棋盘配置。在这个修改后的棋盘上,马从左上角(标记为星号的位置)出发,不能通过任意的步数到达多少个格子?需要注意的是,马不能重复访问任何一个方格。 如果需要,马可以越过棋盘的边界,但只能移动到棋盘内的合法方格。

输入格式

输入包含多组测试用例。对于每组数据,首先给出一个整数 $n$($1 \leq n \leq 10$),表示棋盘的行数。接下来有 $n$ 对整数,对应于棋盘的每一行。对每行的数据,第一整数表示该行开始时跳过的格子数,第二个整数表示该行的总格子数(至少为 $1$)。输入以一个整数 $0$ 结束,标识输入的终止。 例如,上图所示配置的棋盘输入如下: ``` 7 0 3 0 3 0 4 0 4 1 3 1 7 4 4 ``` 棋盘的最大尺寸限制为 $10$ 行和 $10$ 列。因此,输入描述的任何棋盘配置都能完整地适应在一个 $10 \times 10$ 的棋盘中。

输出格式

对于每组输入数据,输出由测试用例编号(从 $1$ 开始)和马不能到达的格子数构成的结果。输出格式参考示例。

说明/提示

- $1 \leq n \leq 10$ - 每行至少包含一个格子 - 棋盘的最大尺寸为 $10$ 行 $10$ 列 **本翻译由 AI 自动生成**