刷满油漆格子是一款闯关的格子刷漆手机游戏,玩家将白色涂抹成自己喜欢的颜色,那注意刷漆的顺序,千万不用遗漏一个白色格子,下面西西带来了刷满油漆格子游戏下载,赶紧来体验吧。
游戏简介
刷满油漆格子是一款玩法非常简单新颖的休闲游戏,你可以将白色的物体涂成你喜欢的颜色,注意千万不要遗漏任何一个白色的哦,丰富的关卡在期待你来挑战哦,快来体验吧。
游戏玩法
你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)
比如:a d b c e f 就是合格的刷漆顺序。
c e f d a b 是另一种合适的方案。
当已知 N 时,求总的方案数。当N较大时,结果会迅速增大,
相对的格子:一列之中,除了指定格子之外的另一个格子。
1、构造两个动态规划数组和一个计数器sum,一个数组a[x],表示在2*x的格子条件下,从最边缘一列的一个角的格子出发,遍历全体格子的种类数,显然a[1]=1,另一个数组b[x],表示在2*x的格子条件下,从一个角的格子出发,遍历全体格子后回到与之相对的格子的种类数。如图所示,显然因为要考虑到回来的路径,因此除了出发点之外,每一列都只有2种选择方法,因此b[x]=2*b[x-1]
2、先考虑出发点在角上的问题,从一个角出发,只有3种可能性,
(1)那就是先去相对的格子,然后前往下一列,这就简化成为从2*x-1列的格子中,从一个角出发遍历所有格子的问题,因为前往下一列的第一个格子有两种选法,因此a[x]+=2*a[x-1];
(2)第二种可能性就是先去遍历其余格子,最后以相对的格子收尾。此时a[x]+= b[x];
(3)第三种可能性较为复杂,先经过第二列的一次转折,然后到第三列的一个角上进行遍历。此时第二列有2种选法,第三列有2种选法,因此a[x]+=4*a[x-2];
3、再去考虑出发点在中间的问题,如图所示,出发点在中间的时候,显然不能直接往下走,否则无法遍历所有点,应当是先遍历左边(右边)所有点,然后回到相对的点,然后遍历右边(左边)的点。注意先遍历的时候,必须是采用“遍历全体格子后回到与之相对的格子”的走法,否则无法遍历出发点正下方的点,而后遍历则不受限制。因此设从第i列开始出发,出发点有两种选法,第一落脚点又有两种走法,后遍历的第一落脚点又有两种走法,走完总走法数为2*(2*b[i-1]*2*a[n-i])+2*(2*b[n-i]*2*a[i-1]) (加法的前一半是先遍历左边,后一半是先遍历右边)
4、总走法数就是4*a[i](因为有4个角)+ 从2到第n-1列所有从中间走法数的和。
中文名:Fill It
包名:com.ActiveCoreStudio.FillIt.fhp
MD5值:1878e34bcb774111953561bc845b983d
最新评论查看所有(0)条评论 >