AT_future_contest_2018_final_a ツカモの栽培
题目描述
高桥君发现了一颗新行星。在这颗行星上,植物“ツカモ”生长得非常旺盛。让我们尽可能多地种植ツカモ吧!
这颗行星用 $50 \times 50$ 的网格表示。从左往右第 $x$ 列,从上往下第 $y$ 行的格子记作 $(x, y)$。左上角为 $(1,1)$,右上角为 $(50,1)$,右下角为 $(50,50)$。格子由以下 $5$ 种类型组成:
- 更地:什么都没有的土地。ツカモ生长后会变成农田。
- 农田:ツカモ生长的土地。每块农田上ツカモ的数量为 $1$ 到 $99$。
- 岩石:岩石。存在岩石时ツカモ无法繁殖,且移动代价较高。
- 传送门:高桥君从地球来到这颗行星时使用。初始时必定只有一个。
- 道路:从传送门出发,高桥君用于移动的道路。移动代价较小。
高桥君有两个参数:
- 金钱:用于建造道路和传送门、清理土地、提升劳动力。通过收获和打工可以增加。初始值为 $100$。金钱可结转到下一回合。
- 劳动力:用于计算高桥君一次能收获多少ツカモ。初始值为 $100$,可通过提升劳动力增加。即使消耗了劳动力,下一回合会恢复。
ツカモ具有以下特性:
- 当同一格子的ツカモ数量达到 $100$ 时,该格子的ツカモ全部变为岩石。
- 对于某个格子,如果该格子为更地或农田,且自身或上下左右相邻的格子中有农田,则下回合该格子的ツカモ数量增加 $1$。岩石不计入ツカモ。
高桥君有 $1000$ 回合的开发期。在这 $1000$ 回合内,希望尽可能多地收获ツカモ。请输出高桥君 $1000$ 回合的行动。高桥君每回合可以选择以下 $7$ 种行动中的一种。
输入格式
输入格式如下:
> $A_{1,1}$ $A_{1,2}$ ... $A_{1,N}$
> $A_{2,1}$ $A_{2,2}$ ... $A_{2,N}$
> ...
> $A_{N,1}$ $A_{N,2}$ ... $A_{N,N}$
- $A_{y,x}$ 表示格子 $(x, y)$ 的初始状态,`.` 表示更地,`#` 表示岩石,`W` 表示传送门。
输出格式
请输出高桥君每回合的行动,共 $1000$ 行。每行按 `命令 坐标指定` 的顺序输出。各命令的具体输出格式请参照下述各行动的说明。
说明/提示
### 道路的建造
> road $X_1$ $Y_1$ $X_2$ $Y_2$
在上下或左右的直线上建造道路。必须满足 $X_1 = X_2$ 或 $Y_1 = Y_2$,否则判为 `WA`。如果中间有岩石或传送门,则无法建造道路,但农田会变为道路,农田上的ツカモ会被清除。建造道路的花费为长度的平方。岩石、传送门、道路也计入长度。如果金钱不足,则无法建造道路。
### 种植ツカモ
> plant $X$ $Y$
在更地或农田的格子上使ツカモ数量增加 $1$。如果不是更地或农田则忽略。
### 收获
> harvest $X_1$ $Y_1$ $X_2$ $Y_2$
指定一个矩形区域收获ツカモ。收获按从左上角开始的顺序进行。非农田格子会被忽略且不消耗劳动力。收获某格子的ツカモ需要消耗 $(该格子的移动距离 - 10)$ 的劳动力。劳动力不足的格子会被忽略。被收获的格子变为更地。每收获一株ツカモ可获得 $1$ 元金钱。(关于移动距离见下文)
### 更地化
> destroy $X_1$ $Y_1$ $X_2$ $Y_2$
指定一个区域,从左上角开始依次将所有格子变为更地。道路、岩石、农田都会变为更地,但传送门不会被影响且不消耗金钱。每个格子的更地化花费等于该格子的移动距离。金钱不足时不会执行。原本就是更地的格子会被忽略。(关于移动距离见下文)
### 提升劳动力
> growup $A$
用金钱提升劳动力 $A$。劳动力初始为 $100$,提升 $A$ 需要 $A^2$ 元金钱。如果金钱不足,则自动选择可提升的最大值。
### 建造传送门
> warpgate $X$ $Y$
在 $(X, Y)$ 格子建造传送门。花费 $1000$ 元金钱。指定格子若不是更地、农田或道路,则忽略且不消耗金钱。
### 打工
```
work
```
金钱增加 $1$。
### 关于移动距离的计算方法
更地化和收获时所需的移动距离,按该回合开始时从传送门到该格子的最短路径计算。传送门的移动距离为 $0$,从传送门出发可向上下左右移动。每移动到一个格子,若该格子为道路则花费 $1$,为岩石则花费 $50$,其他情况花费 $10$。
### 区域指定
> $X_1$ $Y_1$ $X_2$ $Y_2$
如上所示,指定的区域为以 $(X_1, Y_1)$ 和 $(X_2, Y_2)$ 为对角的矩形区域。必须满足 $X_1 \leq X_2$ 且 $Y_1 \leq Y_2$。处理顺序为从左上到右下,优先处理 $Y$ 坐标小的,若 $Y$ 相同则优先 $X$ 坐标小的。
### 每回合的流程
每回合按以下顺序进行:
- 执行高桥君的行动
- ツカモ的生长
例如,使用 `plant` 命令种植ツカモ时,种植后ツカモ会立即生长,因此下回合该格子的ツカモ数量会变为 $2$,请注意。
### 行动总结
行动总结如下。金钱或劳动力统称为“代价”。

### 每回合的流程
### 约束条件
- $N = 50$
- 输入中,每个格子有 $15\%$ 的概率为岩石,其余为更地。之后随机选择一个格子作为传送门。
### 评分方法
每个测试用例收获的ツカモ数量为该用例的得分。
$50$ 个测试用例的得分总和为该程序的总分。
若有一个用例输出不正确,则除 example 外的所有得分均为 $0$。
### 可视化工具
我们提供了可视化工具,可以根据输入文件和输出文件计算得分并显示每回合的结果。
- 推荐在 Chrome 浏览器下使用该可视化工具。无法保证在其他环境下正常运行,尤其是在 Internet Explorer 下无法运行。
- 该可视化工具无法提交答案。请在 AtCoder 上提交答案。
- 可视化工具计算的得分不保证与正式比赛一致。因使用该工具造成的任何损失,概不负责,请知悉。
### 样例说明 1
[输入文件请点击此处(zip)](https://img.atcoder.jp/future-contest-2018-final/48ad0fab78bb7d0722addfab890402ee.zip)
评分结果中的“example\_01”“example\_02”“example\_03”即为此数据。这些数据也计入评分。
**决赛前五名选手对 example\_01 的[输出文件请点击此处(zip)](https://img.atcoder.jp/future-contest-2018-final/result.zip)**
由 ChatGPT 4.1 翻译