注:这是我尝试设置的第一个挑战。它已经通过沙箱,但是,如果你发现它的问题,请不要仅仅是否决,而是留下评论,以便我可以改进它。
有一个老孩子的难题,挑战是画一个有屋顶的盒子和一个穿过中间的十字架,而不从纸上拿起你的钢笔,或者两次越过任何一条线。
在德国,它被称为“尼古拉斯之家”或“圣诞老人之家”。我真的不记得我们以前叫它什么了。对于不熟悉这个谜题的人,可以使用这里提供完整的详细信息。
这是一个ASCII艺术代表的房子。
/\
/__\
|\/|
|/\|
----用你选择的任何语言写一个程序或函数来画圣诞老人之家。
听起来太简单了?好吧,这是问题所在。它还必须输出绘图的每个阶段,并遵守拼图规则。您的程序不需要接受任何输入。完工后的房子必须与上面所示的一模一样。
根据上面的网站,有44种可能的解决方案。你可以使用其中的任何一个。这是一个ASCII艺术挑战,所以你不需要计算的解决方案,但只绘制它。
以下是44种解决方案中的一种所需输出的例子:
----
\
\
----
__
\
\
----
\
__\
\
\
----
/\
/__\
\
\
----
/\
/__\
|\
| \
----
/\
/__\
|\/
|/\
----
/\
/__\
|\/|
|/\|
----一些伟大的答案,感谢和尊重的所有张贴。我确实说了最低字节数,但我已经标记为顶部答案,不仅是因为这一点,也是因为对代码的伟大解释。“真不错”丹尼斯。
发布于 2016-09-17 16:48:14
main(){char *p,n;for(n='B';n++<'J';)for(p="ZFEAFDDEAGCHIAGHCIABBBBAA";*p;p++)putchar(" \n-\\_\\/|/|"[(*p<n)**p&15]);}https://codegolf.stackexchange.com/questions/93610
复制相似问题