一道上次深圳 ICPC 的交互,感觉是签到,因为我同学去打了但是我没去,我太菜了,欢迎且膜拜全国各地来深圳比赛的选手。
就是传统的贪吃蛇,不能碰墙,每一次移动之后头不可以和身体某一部分重合(特别地,如果长度为 \(2\),调换蛇的方向并不会违反这个规定)。身体增长是体现在:造成进食的那一步本身,蛇的尾部不会空出来。
给你初始坐标和每一次吃完苹果后下一个苹果出现的位置(只会出现在空位)。让你返回贪吃蛇的走法,你需要使得你可以最终使贪吃蛇填满屏幕(交互体现在这个东西是在线的,你必须要吃完目前的苹果才会给你下一个苹果的坐标,并且你目前蛇的形态会影响评测机下一次给你的坐标)。
强化问题:我们想构造一个回路,使得其经过所有点刚好一次。这样让蛇头沿着这条回路一直走就好了。
然后就是黑白染色分析,得出以下结论。
- 考虑如果有至少一条边是偶数,可以直接构造如下图的方案。

- 如果两条边都是奇数呢?尝试构造。

然后根据苹果的位置,每次可以走橙线/红线。
因为最后一次吃之前只剩一格,苹果一定是在橙线/红线独有的格子中的一个出现,然后发现这时拐进去吃刚好会填满整张图。问题解决。
