考虑一个 一排一排的灯,不是开着就是关着。网格可以通过按下网格上的任何一个灯来操作,切换灯——然而,当一个给定的灯被按下时,所有沿方向靠近被按下的灯也会被切换。
给定一个初始配置,人们可能会对关闭棋盘上所有灯的移动序列感兴趣,或者更简单地说,是否存在这样的序列。例如,下面 网格可以通过按五个有编号的方块按其标记的顺序来求解:
令人惊讶的是,这第二块板被证明是不可解的。不存在能关掉所有灯的动作序列:
网格配置将表示为文本文件中的一系列行。第一行是一个整数, ,指定网格的大小。以下 Lines将指定网格的内容,其中' 字符表示灯亮着,以及 字符表示灯已关闭。上面的两个网格配置将被编码为:
12 3 4 5 6 7 8 9 10 11 12 |
|
点击lights.txt将触发下载一个约300KB的zip文件,其中包含一个名为“lights.txt”的文本文件。文本文件以指定的格式包含: 轻网格,大小 .精确的 这些网格都是可解的。
找到 .
请注意:一个高效的程序可以找到 不到一分钟。如果您的程序需要几个小时才能完成,那么您可能需要重新考虑您的方法。
在100个结点的根树中,每个结点有0或3个子结点,叶结点的数目是多少?
Edsger Dogstra正在和他的朋友们踢足球,但是有人把球踢得很远。他必须得拿到球,但足球场上到处都是水坑。他讨厌踩到水坑里,希望尽可能走最近的距离。
帮助他找到到达球的最小长度的不同路径的数量,在那里他不会踩到水坑!
足球场是一个 方格网, 人物是水坑和 性格是自由的小草;Edsger从左上角的单元格开始,球在右下角的单元格,他只能在相邻的单元格上移动(不是对角线)。
它总是有可能到达的球只移动到右边和向下。