欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1136B.Nastya Is Playing Computer Games
Nastya Is Playing Computer Games
题目描述
完成了她的家庭作业,Nastya决定玩一会儿电脑游戏。Nastya一个接一个地通过关卡,最终遇到了一个问题问题。她的任务是尽快离开许多怪物居住的房间。 有个下水道检修孔其中坐落在一条线,但不幸的是所有的检修孔被关闭,并且每个检修孔上有一块石。每个检修孔下面都有一枚硬币,为了赢得比赛,Nastya应该选择所有的硬币。最初Nastya站在从左边数第个检修孔。她正在考虑该怎么做。 在一个回合中,Nastya可以执行以下操作之一:
- 如果在检修孔上至少有一块石头,并且Nastya站在附近,从它扔出一块石头到任何其他检修孔(是的,Nastya很强)。
- 去相邻的检修孔;
- 如果Nastya所在的检修孔上没有石头,她可以打开它并从中取出硬币。之后,她必须立即关闭检修孔(不需要额外的移动)。
图片示意
该图显示了游戏的中间状态。在当前位置,Nastya可以将石头扔到任何其他检修孔,或向左或向右移动到邻近的检修孔。如果她靠近最左边的检修孔,她可以打开它(因为它上面没有石头).Nastya可以在拿到所有硬币时离开房间。怪物无处不在,所以你需要计算Nastya必须采取的拿到所有硬币的最小移动次数。 请注意,只有在没有石头的情况下,Nastya才能打开一个检修孔。
输入格式
第一行也是唯一一行包含两个整数和,以空格分隔(, ) -检修孔的数目和从左侧数Nastya最初所站的检修孔的编号。最初每个检修井附近都有一块石头
输出格式
打印一个整数 - 使得Nastya得到所有硬币最小的移动次数。
说明/提示
让我们考虑一下这个例子,。 Nastya应该如下操作: 起初,她将石头从第二个检修孔扔到第一个检修孔。现在第一个检修孔上有两块石头。 然后她打开第二个检修孔并从中取出硬币。 然后她去了第一个检修孔,通过两次移动将两块石头扔到第二个检修孔,然后打开检修孔并从中取出硬币。 所以,获胜需要个动作。
样例
2 2
6
4 2
13
5 1
15
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |