欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF198B.Jumping on Walls
Jumping on Walls
题目描述
瓦西亚在和忍者玩电脑游戏。在这个关卡,瓦西亚需要操控忍者走出一个很深的峡谷。
峡谷由两面垂直于地面且互相平行的墙组成,它们的高度为米。我们将这些墙分成许多米长的区域,并从下到上用到的正整数对它们进行编号。有些地方是安全的,忍者可以爬上去。有些地方石头很尖锐,忍者不能待在那里。我们称这些地区为危险地区。
最初忍者在左墙的最下方。他每秒可以执行以下操作之一:
- 向上爬一个区域;
- 向下爬一个区域;
- 跳到对面的墙上。忍者会跳到比他当前所在高度高米的地方。更准确地说,如果在跳跃之前忍者位于一面墙的区域,那么在跳跃之后,他位于另一面墙的区域。
如果在某个时间点忍者到达了一个高度大于的区域,那么忍者就可以从峡谷中出来了。
但峡谷被水淹没了,每秒水位会上升一米。最初,水位达到区域的下边界。忍者不能待在被水淹没的地方。忍者和水轮流移动——首先忍者行动,然后水上升一米,然后忍者再行动,以此类推。
如果忍者可以离开峡谷,那这个关卡就完成了。
在几次失败的尝试之后,瓦西亚开始怀疑是否有可能完成这一关卡。请回答他的问题。
输入格式
第一行包含两个整数和 ——峡谷的高度和忍者可以跳跃的高度
第二行包含左墙的描述——一个长度为个字符的字符串。第个字符表示墙的区域的状态:字符“X”表示危险区域,“-”表示安全区域。
第三行以相同的格式描述了右墙。
数据保证左墙的第一个区域不是危险区域。
输出格式
如果忍者能从峡谷中出来,打印“YES”(不带引号),否则,打印“NO”(不带引号)。
说明/提示
在第一个样例中,忍者可以先跳到右边的墙,然后沿着右边的墙往下走一米,然后跳到左边的墙。再跳跃一次忍者就可以离开峡谷。
在第二个样例中,忍者是无法离开峡谷的。
样例
7 3
---X--X
-X--XX-
YES
6 2
--X-X-
X--XX-
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |