目录
一,游戏规则
游戏规则是,根据马走的日字,走出一个圈。
对于有数字2的,要走2次,其实就是2个圈的交点。
结果图不太能显示完整路径,所以我手动补充了一下。
二,简单分析
1,问题本质
问题可以分解成两个问题,第一,寻找一个圈,第二,一笔画完圈。
(1)在一个无向图中寻找一个圈,使得每个点经过的次数都和给定数字相同。
给定数字绝大多数是1,少部分是2
(2)一笔画完圈,圈可能自交,即由若干个圈组合而成。
2,起点
因为是圈,所以任意一点都可以是起点。
不过对于有数字2的,用数字2的点作为起点更容易找到答案。
三,策略思路
1,圈分割
2,部分解
(1)度最小的点
度最小的点,只有2个邻居,如B的邻居是AC,则ABC必定是圈的一部分。
(2)路径拼接
对于简单圈,两条路径只要有公共端点,即可拼起来成为一条路径。对于自交圈,如果公共端点不是1,则不一定。
有2及以上的才是自交圈,只有1的是简单圈。
总之,如果两条路径有公共端点,且这个端点不为1,则可拼起来成为一条路径。
这样,再去找剩下的部分,就比较容易了。
其实问题本身并没有得到很大的化简,主要是看起来更清楚而已。