欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1905A.Constructive Problems
Constructive Problems
题目描述
Gridlandia 遭遇了洪灾,现在需要重建所有城市。Gridlandia 可以用一个 的矩阵来描述。
最初,所有城市都处于经济崩溃状态。政府可以选择重建某些城市。此外,任何崩溃的城市,如果它至少有一个垂直相邻的已重建城市,并且至少有一个水平相邻的已重建城市,则可以向这些城市请求援助,无需政府帮助也能重建。更正式地说,位于 的崩溃城市可以在满足以下两个条件时被重建:
- 至少有 或 位置的城市被重建;
- 至少有 或 位置的城市被重建。
如果城市位于矩阵的边界,并且只有一个水平或垂直相邻的城市,则只考虑该城市。

上图展示了两种通过相邻援助重建城市的可能方式。白色格子表示崩溃的城市,黄色格子表示最初被重建的城市(无论是由政府还是通过相邻援助),橙色格子表示通过相邻援助后被重建的城市。政府想知道,最少需要重建多少个城市,才能在一段时间后使所有城市都能被重建。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。接下来每个测试用例占一行,每行包含两个整数 和 (),表示 Gridlandia 的规模。
输出格式
对于每个测试用例,输出一个整数,表示政府最少需要重建的城市数量。
说明/提示
在第一个测试用例中,政府只需重建城市 和 即可。
在第二个测试用例中,政府只需重建城市 、、、、、、 即可。
由 ChatGPT 4.1 翻译
样例
3
2 2
5 7
3 2
2
7
3
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |