欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1482A.Prison Break
Prison Break
题目描述
Michael 被指控违反社交距离规定并造成传播新冠病毒的风险,因此被送进了监狱。幸运的是,Michael 非常清楚监狱内部的样子,尤其是因为它非常简单。
监狱可以表示为一个 的矩形,被划分为 个牢房,每个牢房之间有公共的墙壁,矩形外围的边是通向自由的外墙。在被判刑之前,Michael 可以请求他在监狱工作的朋友在一些墙上打洞(这些洞会被隐藏得很好),包括牢房之间的墙和最外层的墙。Michael 希望无论他被关在哪个牢房,都能有一条通向外面的路。同时,他也希望打破的墙尽可能少。
你的任务是计算,为了让每个牢房都能有一条通向外部的路径,最少需要打破多少面墙。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
接下来的 行,每行包含两个整数 和 (),表示每个测试用例的参数。
输出格式
对于每个测试用例,输出一个整数,表示最少需要打破的墙数。每个答案占一行。
说明/提示
下图展示了样例测试用例的一些可能的逃脱方案。被打破的墙用灰色表示,未被打破的墙用黑色表示。


由 ChatGPT 4.1 翻译
样例
2
2 2
1 3
4
3
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录