这里写自定义目录标题
更多精彩内容
这里是带你游历编程世界的Dashcoding编程社,我是Dash/北航硕士/ICPC区域赛全国排名30+/给你呈现我们眼中的世界!
256题算法特训课,帮你斩获大厂60W年薪offer
原题
米哈游校招真题史莱姆
B站动画详解
问题分析
本题的核心在于模拟史莱姆的跳跃过程,并统计每一秒钟地图上没有史莱姆的格子数量。史莱姆的跳跃规则由数组 a a a 决定, a i = 0 a_i = 0 ai=0 表示向左跳跃, a i = 1 a_i = 1 ai=1 表示向右跳跃。每秒钟都可能有史莱姆跳出地图,导致地图上某些格子不再有史莱姆。问题要求统计从第 1 1 1 秒到第 n n n 秒之间,地图上没有史莱姆的格子数量。
思路分析
本题采用枚举的方式来解决问题:
- 初始化数据: 首先读取输入的 n n n 和数组 a a a。数组 a a a 的每个元素表示对应格子的史莱姆跳跃方向。
- 跳跃模拟: 从第 1 1 1 秒到第 n n n 秒,依次模拟每个格子的史莱姆跳跃。根据跳跃方向判断史莱姆是向左跳跃还是向右跳跃,并更新目标位置。
- 统计无史莱姆的格子: 使用辅助数组 b b