贪吃蛇对战:有什么策略?算法怎么实现?
两条蛇在m*n的地图上(m,n随机产生)以相同的速度自由游走,蛇每行走一个单位距离地图会以一定的概率随机产生一个苹果,蛇每吃到一个苹果长度加一,在一个比较大的时间段内,比较长的蛇取胜(如果某条蛇在时间结束之前由于撞上自己或另一条蛇而挂掉,则其长度以挂掉前的长度计)。
地图是一种特殊形式的二维阵列,可以从左边直接到右边(反之亦行),也可以从上边直接到下边(反之亦行)。
为了取胜,贪吃蛇应该有哪些策略呢?这些策略用算法又怎么实现呢?
注:由于苹果随机产生,在某一时刻,地图上可能有多个苹果,也有可能没有苹果;并且由于其随机性,蛇的初始位置和初始长度并不重要。