您的任务(如果您接受)是编写一个程序,该程序通过计算与代码高尔夫相反的比赛的获胜者来帮助理解我对meta的建议。当然,此问题的答案将被视为建议的答案,因此您的程序(如果正确)可以计算您的答案是否将成为接受的答案。
规则
- 程序读取具有以下格式的多行文件(请参见下面的示例):[Language] TAB [NumberOfCharacters] TAB [LinkToAnswer]
- 文件名将作为参数传递给您的程序,或者将文件重定向到程序的标准输入。由您选择,给出答案时请提及方法
- 预期输入格式正确。无需进行错误处理。
- 字符数为正。您的程序必须处理的长度最大为65535。64k应该足够每个人使用:-)
- 程序在标准输出上输出符合meta提案思想的那些行,即
- 特定编程语言的最短代码胜出(简化阶段)
- 所有编程语言中最长的代码胜出(排序阶段)
- 抽奖时,应打印所有相同长度的答案
- 输出顺序并不重要
- 尽管最长的代码获胜,但这不是代码保管。对于您的编程语言,您的代码必须尽可能短。
- 很少尝试不缩短代码的编程语言的答案应该被否决,因为它们试图绕过这种问题的意图。如果对于一种特定的编程语言只有一个答案,那么它将被视为优胜者,因此您可以开始发布其代码。
输入文件示例(如果格式有问题,请用单个选项卡分隔):
GolfScript 34 http://short.url/answer/ags
GolfScript 42 http://short.url/answer/gsq
C# 210 http://short.url/answer/cs2
Java 208 http://short.url/answer/jav
C# 208 http://short.url/answer/poi
J 23 http://short.url/answer/jsh
Ruby 67 http://short.url/answer/rub
C# 208 http://short.url/answer/yac
GolfScript 210 http://short.url/answer/210
预期输出(顺序不重要):
C# 208 http://short.url/answer/poi
C# 208 http://short.url/answer/yac
Java 208 http://short.url/answer/jav
更新资料
有些程序依赖于一个最大值的事实(例如C#210字符程序)。源自现实,有人还可以编写一个包含210个字符的GolfScript程序。输出将保持不变。我已经在输入中添加了一个GolfScript。
更新2
如建议的那样,我已重新标记(仍然是代码高尔夫球),截止日期为2014-03-06(这看起来像是一个任意日期,但随后我将返回德国)。
最终结果
我决定投票如下:
- 无法确认字符数的答案会给出注释以说明计数。
- 可以轻松减少的答案得到评论,编辑建议,并以较低的计数值进入结果。(希望我已经提前看到了)。
- 未编译的答案将被否决。(事实证明这是一项艰巨的任务)。
- 未打高尔夫球的答案会被拒绝(如规则中所述)。
- 产生预期输出的答案会受到欢迎。由于某些答案无法按预期工作,因此我使用了4个不同的输入文件,并对照预期结果进行检查。
最后,通过提供合格答案表作为我的参考程序的输入(加上手动仔细检查结果)来确定获胜者。如果我自己的答案将是获胜的答案,则将其从列表中排除。如果有几个获奖者,我将只选一个。因此,可以获得一些奖金:
- 接受的输入比预期多的答案(例如超出定义范围)
- 答案简短明了
我已于2014年3月6日UTC + 1拍摄了答案的快照。分析正在进行中。检查所有答案比预期的要难...