Locked. This question and its answers are locked,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。
挑战
通过字符计数的最短代码可以解决输入灯熄灭的局面。
照明输出板是一个大小可变的二维正方形网格,由两个字符组成-熄灭的灯光的
要解决该板,必须关闭所有“灯”。切换一个灯(即打开时关闭,关闭时打开)一次使5盏灯-所选的灯和周围的灯呈+(加号)形状。
“选择”中间的灯将解决木板:
自熄灯!解决方案的顺序无关紧要,输出将是一块新的电路板,上面有要选择的灯泡的标记。上板的解决方案是
在没有侧面灯泡要关掉的角落关掉灯不会溢出:
在这种情况下,选择右下角的灯泡只会关闭3个灯泡。
测试用例
代码计数包括输入/输出(即完整程序)。
挑战
通过字符计数的最短代码可以解决输入灯熄灭的局面。
照明输出板是一个大小可变的二维正方形网格,由两个字符组成-熄灭的灯光的
.
和亮起的灯光的*
。要解决该板,必须关闭所有“灯”。切换一个灯(即打开时关闭,关闭时打开)一次使5盏灯-所选的灯和周围的灯呈+(加号)形状。
“选择”中间的灯将解决木板:
.*.
***
.*.
自熄灯!解决方案的顺序无关紧要,输出将是一块新的电路板,上面有要选择的灯泡的标记。上板的解决方案是
...
.X.
...
在没有侧面灯泡要关掉的角落关掉灯不会溢出:
...
..*
.**
在这种情况下,选择右下角的灯泡只会关闭3个灯泡。
测试用例
Input:
**.**
*.*.*
.***.
*.*.*
**.**
Output:
X...X
.....
..X..
.....
X...X
Input:
.*.*.
**.**
.*.*.
*.*.*
*.*.*
Output:
.....
.X.X.
.....
.....
X.X.X
Input:
*...*
**.**
..*..
*.*..
*.**.
Output:
X.X.X
..X..
.....
.....
X.X..
代码计数包括输入/输出(即完整程序)。
最佳答案
Perl,172个字符
Perl,333 251 203 197 190 172字符。在此版本中,我们随机按下按钮,直到所有指示灯熄灭为止。
map{$N++;$E+=/\*/*1<<$t++for/./g}<>;
$C^=$b=1<<($%=rand$t),
$E^=$b|$b>>$N|($%<$t-$N)*$b<<$N|($%%$N&&$b/2)|(++$%%$N&&$b*2)while$E;
die map{('.',X)[1&$C>>$_-1],$_%$N?"":$/}1..$t
关于language-agnostic - 高尔夫代码:熄灭,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1960200/
10-11 19:08