freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/project-euler/problem-331-cross-flips.md

1.1 KiB
Raw Blame History

id title challengeType videoUrl
5900f4b71000cf542c50ffca 问题331交叉翻转 5

--description--

N×N个盘放在方形游戏板上。每个磁盘都有黑色和白色。

在每个回合中您可以选择一个磁盘并翻转与该磁盘相同的行和同一列中的所有磁盘因此翻转2×N-1个磁盘。当所有磁盘显示其白色边时游戏结束。以下示例显示了5×5板上的游戏。

可以证明3是完成这个游戏的最小转弯次数。

N×N板上的左下盘具有坐标0,0;右下盘具有坐标N-1,0左上盘具有坐标0N-1

CN为具有N×N个盘的板的以下配置xy处的盘满足表示其黑色侧;否则,它显示其白色的一面。 C5如上所示。

设TN是从配置CN开始完成游戏的最小圈数如果配置CN不可解则为0。我们已经证明T5= 3。你还得到T10= 29和T1 000= 395253。

找 。

--hints--

euler331()应该返回467178235146843500。

assert.strictEqual(euler331(), 467178235146843500);

--solutions--