目的
我有一幅漂亮的照片想挂在墙上。而且我希望它以一种壮观的方式悬挂在那儿,所以我选择将它悬挂在任何正整数上的n
钉子上n
。
但是我也犹豫不决,因此,如果我改变主意,则不希望拍摄照片时遇到很多麻烦。因此,去除任何一个n
指甲都会使图片掉落。我是否提到我的房子没有摩擦?
你能帮助我吗?
规则
- 您的程序必须
n
从stdin中读取数字并打印到stdout(或您的语言的等效语言)。 - 输出必须是根据输出规范的解决方案,没有任何其他结尾或前导字符。但是,尾随空格和/或换行符是可以接受的。
- 您必须使用完全相同
n
的指甲。 - 假设世界无摩擦,您的解决方案必须满足以下条件:
- 按照解决方案的说明悬挂图片,图片不能掉落。
- 如果除去任何一个指甲,图片必须掉落。
- 有标准漏洞。特别是,您可能不会向例如验证程序提出强力解决方案的请求。
请注意,4.2已经暗示所有n
钉子都必须包括在内。
输出规格
- 所有钉子从其位置开始,从左到右命名
1
。 - 有两种基本的方法可以将绳子缠绕在钉子上:顺时针和逆时针。我们用表示顺时针步进,用表示
>
逆时针步进<
。 - 每次将绳子缠绕在钉子上时,它都会从钉子的顶部伸出,因此跳过钉子意味着绳子会穿过中间钉子的顶部。
- 每个解决方案都必须从钉子开始,到钉子
1
结束n
。 - 输出必须包含一系列步骤,其中一个步骤是指指甲名称和将线围绕其缠绕的方向的组合。
示例输出
这是n=5
and 的示例输出n=3
:
1>4<3<2>4>5< # n=5, incorrect solution
1>2<1<2>3<2<1>2>1<3> # n=3, correct solution
这是n=5
(awsumz gimp skillz)错误解决方案的直观表示
正确的解决方案n=1
是简单1>
或1<
。对于多个钉子,可以有不同的解决方案。您只能输出一个,因为这是分数的一部分。
验证
您可以在此处验证解决方案是否正确:www.airblader.de/verify.php。
它使用GET请求,因此您可以根据需要直接调用它。例如,如果foo
是每行包含一个解决方案的文件,则可以使用
cat foo | while read line; do echo `wget -qO- "www.airblader.de/verify.php?solution=$line" | grep "Passed" | wc -l`; done
如果您认为解决方案是正确的,但验证者将其标记为不正确,请告诉我!
编辑:如果您的输出太长,以至GET请求不会被截断,请告诉我,我将制作POST请求版本。:)
计分
这是代码高尔夫球。分数是采用UTF-8编码的源代码的字节数,例如,使用此工具。但是,每次提交都有潜在的好处:
针对n
该范围内的所有程序运行您的程序[1..20]
,并将所有输出的长度加起来确定您的输出分数。从中减去您的输出得分,6291370
即可得到可从字节数中减去的奖励积分数量,从而获得总体得分。如果您的输出分数高于此数字,则不会受到任何惩罚。
总体得分最低的提交者获胜。在平局的情况下,平局决胜局的顺序是:更高的奖励积分,更少的字节数,更早的提交日期。
请同时发布分数和最终分数的各个部分(字节数,加分),例如“ LOLCODE (44 - 5 = 39)
”。
1>
图片中的绘制方式)。而且没有n
不可能的解决方案。一个有效的解决方案n=2
是1>2<1<2>
。