#P14041. [PAIO 2025] Towers
[PAIO 2025] Towers
Description
Alice 正在玩一款手机游戏,目标是通过放置炮塔来保护基地免受僵尸侵袭。游戏中的基地用一个 的矩阵表示。Alice 可以在不越界的任意格子里放置炮塔。只要每一个 的正方形区域内至少有一个炮塔,基地就被视为已受保护。请帮助 Alice 找出一种放置炮塔的方案,使她的基地得到保护。同时,由于她刚开始玩、资金有限,请输出所有可能方案中所需炮塔数量最少的那个。
实现说明
你需要实现如下函数:
int32 solve(int32 N, int32 M, int32 K)
参数 的含义与上文一致,函数需返回上述要求下的最小炮塔数量。
注意:函数在一次程序执行过程中最多会被调用多次。
Input Format
无(输入由评测器以函数参数传递)。
Output Format
直接返回 int 类型的最小炮塔数量。
Hint
示例
下图中,红色圆圈代表炮塔。
考虑调用 solve(5, 5, 2)。此时 ,方案如下:
::::align{center}
::::
考虑调用 solve(7, 8, 3)。此时 ,方案如下:
::::align{center}
::::
考虑调用 solve(4, 4, 1)。此时 ,方案如下:
::::align{center}
::::
样例评测器
样例评测器会先读入 (调用 solve 的次数),接下来 行每行给出一组 ,每次调用一次 solve。然后输出每次调用 solve 的返回值,一行一个。示例输入输出均按此格式出现。
数据范围
- 。
- 。
- 单次程序执行过程中,最多会调用 次该函数。
评分规则
- 子任务 ( 分):。
- 子任务 ( 分):。
- 子任务 ( 分): 且 整除 。
- 子任务 ( 分):无额外限制。
由 ChatGPT 5 翻译
京公网安备 11011102002149号