异常IMO数竞之旅——玩家关:入侵如下:
本关中敌人在一个5*4的范围内分布,每一行最多只有一个敌人,每列刚好只有一个敌人,我们的目标就是在3次机会内穿过敌人的封锁,到达终点。
我们无法消灭敌人,碰到敌人会立刻死亡,由于无法事先知道敌人的位置,那么就需要根据死亡前走过的路经收集信息
这一关的突破口是每行最多只有一个敌人,那么如果我们能够绕到某一个敌人的身后,那么不就无敌了吗!我们来简化一下模型,看一下简单的情况:
1 A B C……
2 D E F……Z
3 G H I……
假设第一列的敌人位于D点,关注D为中心3*3范围,D位于第一列,因此1、2、3点安全,显然A、G也安全,那么只要B、H有一个安全,就能到达D身后的E点,也就意味着能够到达终点,因为每列最多一个敌人,那么B、H中必有安全的点,那么第一次死亡检测出敌人在D,后面两次分别从上下方向绕到D身后就能通关。路线:21ABEFZ,23GHEFZ
简单情况分析完成,要注意在这种情况下,第一列敌人不能位于两端,也就是必须有上下两条路能够绕行。
接下来分析第一列敌人在底端的情况
1 A B C……
2 D E F……
3 G H I……
4 J K L……
假设敌人在J,第一条命探测出了J的敌人,在这种情况下,只有GHK一条路线能够绕到敌人身后,那么之前的策略就行不通了,我们需要关注H点的情况,若H点没人,可以直接绕过去,但H有人就不行了,如果探测出了H点有人,此时只剩一条命,在不知道更多信息的情况下没法绕后,所以我们要在不死的情况下探测出H的情况
我们希望遇到的情况是第二列敌人不在H点,这样即使失去一条命也可以知道路线,因此,第二条命走EB都是可以的,此时,神奇的事情发生了,如果安全到达B点,那么EB都没人,又因为J有人,所以K不能有人,那么敌人只能在H,这不就实现无伤收集信息了吗!这时候JH都有人,想要绕后就要关注F点,这不就又回到刚才的问题了吗!仿照刚才的路径,直接前往C点,如果死了,那么找到了绕路缺口,如果没死,那么无伤获得了信息,接下来继续按照阶梯式的走法直到找到缺口,就能三条命通关了。至此,思路已经完全清晰,推广到更大范围也是完全相同的思路
右边机器人:检测第一列敌人的位置,经过安全路点时计数
中间机器人:根据信号做出反应。在中间三个:往下绕路(若死亡让左侧机器人往上绕路)
在两端:阶梯式移动直至找到缺口
左侧机器人:从缺口绕后
看到这里,恭喜你已经完成了24年一道IMO题,甚至难度更大,相信在座各位已经迫不及待想要参赛了吧!
以上就是异常IMO数竞之旅——玩家关:入侵相关内容。