#abc0084. [abc008_4]金塊ゲーム
[abc008_4]金塊ゲーム
问题
高桥君正在玩一个游戏。这个游戏在一个无限扩展的方格上进行,可以在水平和垂直方向上移动。每个方格是一个正方形,每条边都平行于东西或南北方向。每个方格都有一个分配的数字对 (, ),并且在从该方格向东移动 格(当 时向西移动 格)并向北移动 格(当 时向南移动 格)之后的方格中有一个数字对 (, )。
方格上有 × 个金块。这些金块分别放置在满足 ≦ ≦ 和 ≦ ≦ 的所有方格 (, ) 中,每个方格有 个金块。此外,其中恰好有 个金块回收装置。装置被编号为 到 。对于任意两个方格 (, ) 和 (, ),如果两个方格都有装置,则 且 。此外,多个装置不会位于同一个方格中。最开始,没有金块回收装置正在运行。
一旦金块回收装置开始运行,它将首先回收装置所在方格中的金块。然后,它可以通过向东、向西、向南和向北四个方向伸展起重机来进一步回收金块。由于起重机的特性,放下起重机的位置没有金块,并且回收区域中必须连续存在金块。换句话说,如果方格 (, ) 有起重机,则只有在满足以下条件时才能放下起重机并回收金块。
-
向东回收:选择满足以下条件的整数 。然后回收满足 ≦ ≦ 的所有方格 (, ) 中的金块。
- 条件: > ,对于满足 ≦ ≦ 的所有方格 (, ),方格中有金块,并且方格 (, ) 中没有金块。
-
向西回收:选择满足以下条件的整数 。然后回收满足 ≦ ≦ 的所有方格 (, ) 中的金块。
- 条件: < ,对于满足 ≦ ≦ 的所有方格 (, ),方格中有金块,并且方格 (, ) 中没有金块。
-
向南回收:选择满足以下条件的整数 。然后回收满足 ≦ ≦ 的所有方格 (, ) 中的金块。
- 条件: < ,对于满足 ≦ ≦ 的所有方格 (, ),方格中有金块,并且方格 (, ) 中没有金块。
-
向北回收:选择满足以下条件的整数 。然后回收满足 ≦ ≦ 的所有方格 (, ) 中的金块。
- 条件: > ,对于满足 ≦ ≦ 的所有方格 (, ),方格中有金块,并且方格 (, ) 中没有金块。
对于每个方向,如果不存在满足条件的 或 ,则无法伸展起重机。
此外,对于每个方向,如果可以回收金块,则必须回收。下面是满足条件的回收方法的一个示例。注意,在以下图示中,用 M
符号表示装置,并用粗框表示可回收范围。