代码填字游戏


22

这是挑战。如果您是警察(填字游戏制造商),请在此处回答;如果您是强盗(填字游戏求解器),请回答相关问题。您可以同时担任这两个角色。

警察(益智类)

您的任务是编写10×10 填字游戏,其中的代码片段代替了单词或短语,而是线索的解决方案。每个线索将是一个非空的字符序列,因此运行它所引用的代码片段会将序列输出到stdout。

您的帖子必须包括三件事:

  1. 您的空白 10×10纵横网格,使用#深色(线索分离器)和_用于(在待填充电池)。
    • 每条水平或垂直的2个或更多的光序列(由黑暗或网格边缘限制)都是您必须为其提供线索的条目。为方便起见,您应以通常的方式(从左至右,从上至下)对这些编号,方法是_在每个条目的开头用唯一的字符标识符(例如1、2,...,A,B )替换,...)。
    • 您的网格可能有许多暗度。
    • 您的网格可能有许多线索。
    • 水平条目始终从左至右阅读,垂直条目从上至下阅读。
  2. 线索列表,其中包含填字游戏中上下左右的每个条目。
    • 线索必须包含至少1个且不超过10个字符。
    • 如果您的线索中包含空格,请在格式化帖子时确保它们显而易见。
  3. 页眉页脚代码段,每个20个字符或更少。
    • 它们分别在解决方案摘要之前和之后运行,并且可能有助于重命名较长的内置插件等。

确保线索匹配其相应代码段的过程为:

  1. 连接页眉,摘要和页脚:[header][snippet][footer]
  2. 作为常规程序运行此程序(独立于以前的运行),然后查看打印到标准输出的内容。
  3. 如果这与线索相符,则该片段是有效的解决方案。

为简单起见,您只能在整个过程中使用可打印的ASCII(十六进制代码20至7E)。页眉和页脚本身也可能包含制表符和换行符。

附加条款

  • 对于任何摘要,[header][snippet][footer]在一台像样的现代计算机上运行都不会超过一分钟。
  • 您必须指定您的编程语言(和版本)。
  • 您可能不使用任何常见的哈希算法。
  • 您可能不使用外部库。
  • 您代码中的所有内容都必须是确定性的,时不变的,并且不需要网络连接。
  • #并且_可以在片段(或其他地方)发生。
  • 您可能会像COTO那样揭露填字游戏中的某些字符。他们仍然算作灯。不需要强盗使用它们,它们只是很好的提示。

使用Python 3.部首一个简单的例子:p=print;t=5;。没有页脚。

未解决的网格:

##########
1___2___##
_###_#####
_###_#####
_###_#####
####_#####
####_#####
###3______
####_#####
####_#####

线索:

ACROSS
1: 8
3: A!
DOWN
1: 7
2: 10

有效的解决方案:

##########
print(8)##
(###+#####
7###=#####
)###5#####
####;#####
####p#####
###p('A!')
####t#####
####)#####

强盗(解雇者)

您的任务是解决警察发布的填字游戏。您必须使用与填字游戏输入的语言完全相同的编程语言,否则,与所有线索匹配的任何解决方案都是有效的。

您可能无法解决自己的填字游戏,并且只能尝试回答其他每个填字游戏一次。

记住将解决方案张贴在伴随的问题中

计分

如果填字游戏在72小时内解决,它将不再运行。一旦填字游戏持续了72小时未解决,就可以认为它是免疫的,创建者可以发布解决方案(通过编辑其帖子并将其标记为免疫)。

获胜的警察是提交免疫填字游戏且暗度最少的用户(#)。如果是平局,则票数最高的候选人将获胜。必须发布解决方案才能接受答案。

强盗是解决最多填字游戏的用户。决胜局是他们在伴随问题中的总和。


1
您已经对俄罗斯方块代码感到无聊了?
feersum 2014年

3
@feersum没有人解决这些问题。我希望这对强盗更容易。
卡尔文的爱好2014年

9
页眉:sha512sum <<<",页脚:("|head -c10以Bash表示)。
jimmy23013

1
@ user23013 kes。我想我将禁止哈希。
卡尔文的爱好2014年

2
@Rodolvertice虽然如此,但可以说它已经被立即解决了……所以也许你是对的。但是我同意改变这种观点为时已晚(做出一个没有黑暗的好难题并不容易)。
卡尔文的爱好2014年

Answers:


5

JavaScript,0个暗点-免疫

 __________
| 123456789A |
| B |
| C |
| D |
| E |
| F |
| G |
| H |
| I |
| J |
 ----------

这是适合所有人的解决方案:

 __________
|〜709-51 + 90 |
| -0x33-31&8 |
| 8-42 ^ 07 * 70 |
| 306%4 + 0x34 |
| 0xb1204%51 |
| -1 + 2 + x> h-- |
|'4'* 32 >> 07 |
| Math.E> 2.7 |
| 8 / 2-1-7 * 22 |
|'6'-025036 |
 ----------
Header: var h=8,x=5;console.log(

Footer: );

线索

跨越
1. -671
B.8
约-460
D.54
E.33
F.假
G.1
H.真实
一.-151
-10776号

下
1. NaN
2. 15
3.“ 1131t2”
4. 64
5. -48
6. 49
7. 6
8.正确
9. 8
315

如果您认为有任何我误算的结果,请告诉我。


3
您确定您没有混合使用“ Across and Down”吗?
骄傲的haskeller 2014年

3

CJam,41次黑暗- MartinBüttner 解决

没有页眉,页脚或保留的正方形。让我知道任何潜在的错误。

我最初想到的解决方案没有空格-这不是MartinBüttner发现的。

#5###6#7__
#4_3____##
1##_#_#_#A
2____##_#_
_##_##9___
_##_#E#_#_
_#C#8_____
##_#_####_
##B_______
D__#_####_

线索

跨越

2: [[4 3]]
4: 24717
7: 32
8: E
9: "" (there is ONE trailing space after the quotes)
B: "m
D: 124

1: [2 2 2 3]
3: 3010936384
5: 2017
6: "18"
7: ' "\"\""
8: !{}
A: -3u3
C: -1
E: Stack: ""

祝好运!


4
解决了。感谢您的挑战,这真的很有趣!:)
Martin Ender 2014年

3

C-26暗,5保留-由Feersum解决

   Clue #          Reserved
+----------+     +----------+
|1_2__3_#4_|     |"      #  |
|_#_##_#5_#|     | # ## #  #|
|6___7_8___|     |      8   |
|_#_#9____#|     | # #     #|
|_#AB_#C___|     | #   #    |
|D_#E_____#|     |  #      #|
|_#F#_#_#_#|     | # # # # #|
|_#GH__#I__|     | #    #   |
|_##J_#K#_#|     | ##  # # #|
|L___#M____|     |2 * # _   |
+----------+     +----------+

标头

z[4]={9};main(_){_=

页脚

;printf("%d",_);}

线索

ACROSS:
1. 48
4. -8
5. -2
6. 0
9. 73
A. 9
C. 0
D. 5
E. 0
G. -2
I. 0
J. 0
L. 18
M. 6247483

DOWN:
1. 45
2. 7680
3. 22
4. -97
5. 0
7. -1073741824
8. 8
B. 0
F. 42
H. 0
K. -2

什么是5下?
feersum 2014年

@feersum 5 down为0(答案已编辑)
es102414年

它可以用gcc编译并且不带参数运行吗?
grc 2014年

@grc是它
es1024


3

MATLAB-28黑暗

feersum解决

板子

  CLUE #         RESERVED
 __________      __________
|12 3 4 5  |    |    [     |
|# # # # ##|    |#s# # # ##|
|6   # #7 8|    |    # #   |
|# # # # # |    |# # # # # |
|9 A       |    |6  7  y   |
|#B  # # # |    |#   # # # |
|C         |    |        g |
|# # ### # |    |# # ### # |
|# # ##D # |    |# # ##  # |
|E         |    |d         |
 ¯¯¯¯¯¯¯¯¯¯      ¯¯¯¯¯¯¯¯¯¯

标头

g=4;o=magic(3);disp(

页脚

);

线索

跨越

  • 1个 2
  • 6 -1i
  • 7 eye(3)
  • 9 0
  • sqrt(-1)
  • C 1/25000
  • d 0
  • Ë [0;0;0]

  • 2 log(1i)
  • 3 100
  • 4 10^16
  • 5 [2,2;2,2]
  • 8 512
  • 一种 inv(1i)
  • d zeros(3)

请注意,在此难题的线索中,我已经做了些微改动。由于MATLAB输出始终是冗长的(例如,即使打印虚数单元也1i超过10个字符[ 0 + 1.0000i])并根据默认输出格式进行更改,因此线索都是简单的表达式,其显示的输出等于相应解决方案的输出

换句话说,您可以将实际线索视为disp( CLUE ),其中CLUE上述列表中的10个字符以内的线索是。

希望加尔文不介意。我不认为这违反了线索长度规则的精神,该规则可能会阻止填字游戏构建者插入极其难以生成的解决方案(即单词)。

    KEY
 __________
|max([1 2])|
|#s#1#0#*##|
|1i^3#*#o\o|
|#n#+#1#n#(|
|6 -7+eye&1|
|#(i)#1#s# |
|.1 ^ 5*(g)|
|#)#2### #^|
|#*#/##~2# |
|diag(-o)>3|
 ¯¯¯¯¯¯¯¯¯¯ 


3

蟒蛇

feersum解决

这是一个让我们开始的地方。我使用Python 2.7.8获得了线索。祝好运 :)

自从禁止散列以来,我已经透露了最后一个片段。另外,网格上有36个暗度(我错过了得分部分)。

我已经揭示了一些其他字符来简化操作,但是也可以使用其他解决方案。

填字游戏网格:

1_234##5##         * . ## ##
_#6_______         #  e /   
_#7__##_##         # * ##6##
8________#        3   %    #
##_#_##_##        ##5# ## ##
#9________        #a   *   b
##_#_##_##        ## # ## ##
A________#        b   7  1 #
##_####_##        ## #### ##
#hash('9')        #hash('9')

线索:

ACROSS
1: 440380.9
6: 12328.7671
7: 72
8: 4519217.0
9: 79920L
A: 1.55826556
B: 7296021944

DOWN
1: 1211477643
2: 17353.0
3: 5.4
4: 1719.0
5: 7514613.78

标头:

a=49481
b=97381
x=

页脚:

print`x`[:10]

要澄清的是,页脚是单独显示的行还是位于p每个代码段之后的右边?
卡尔文的爱好2014年

@ Calvin'sHobbies页脚开始新的一行。
grc 2014年

A-cross的东西是否特别使人恶魔?我有一个网格适用于除那个以外的所有功能。
feersum 2014年

@feersum和其他语言一样,这是一个数学表达式,但可能非常棘手。请记住,输出将被截断为10个字符。
grc 2014年


3

Javascript ES4-37黑暗,保留10

bazzarg解决

板子

   CLUE #         RESERVED
 __________      __________
|1  2 ###3#|    |     ### #|
| ## #45   |    | ## #I   4|
| ## ## # #|    |:##-## # #|
|6        #|    |         #|
| ## ## # #|    | ## ##.# #|
|7         |    |         ]|
| ## ## ###|    | ## ## ###|
|8   #9    |    | +  #   - |
| ## ## ###|    |'## ## ###|
| ##A      |    | ##   4   |
 ¯¯¯¯¯¯¯¯¯¯      ¯¯¯¯¯¯¯¯¯¯

标头

a=3;I=9;t=

页脚

;console.log(t);

线索

跨越

  • 1个 51
  • 4 true
  • 6 8.14159265...
  • 7 "90"
  • 8 0
  • 9 -10
  • 一种 "HI"

  • 1个 5
  • 2 "2pac"
  • 3 3072
  • 5 false

请注意,我已经在标有“ reserved”的面板上添加了第二个表示形式,以指示十个已填充字符的指示灯。这是为了帮助求解器并限制/消除可能的解决方案。我不确定卡尔文是否要将这些视作暗或亮。

我使用了两个单独的表示形式,因为一些填充的字符是数字,可能会混淆线索编号,并且通常会使面板混乱。

在任何解决方案中都没有空格字符,但是如果可以,请使用空格字符填充光源。

原始解决方案

__________ |{},51###6#| |a##+#I/a<4| |:##-##[#<#| |5+Math.PI#| |}##+##.#+#| |[I+"0"][0]| |'##p##/###| |a+-a#a=~-I| |'##c##=###| |]##"\x48I"| ¯¯¯¯¯¯¯¯¯¯

事实证明,bazzarg对9的解决方案-在错误的位置,但是应该以线索10代替-10(线索和答案本来是不同的,所以我匆忙进行了切换)。因此,在这种情况下,我们只说两个错误确实是对的。;)


1
关于保留字符的有趣想法。我不会把它们算作黑暗,因为那样的话,人们会更有动力不使用它们。
卡尔文的爱好2014年

1
我在填字游戏时遇到了同样的问题,但这是无效的。Clues must contain at least 1 and no more than 10 characters.
jimmy23013

我不知道JavaScript,但类似的声音[object Window](无论如何都是无效的,正如用户N所指出的)听起来像取决于在特定环境中运行。如果是这样,是否应该指定?
feersum

用户23013是正确的。8.141592653589793而且[object Window]太长了。
加尔文的爱好2014年

我可以将表达式截断为6个。无论小数位数如何,数字是什么(以及如何生成)应该是显而易见的。至于9跨,输出确实是特定于浏览器的(尽管我相信我使用的格式对于所有五种主要浏览器都是通用的)。在这种情况下,我将修改实际答案。
COTO 2014年

1

Python 2,0暗-免疫

Python 2仅因为print在页脚中。如果您更改print语句,则它在Python 3中的工作方式应相同。

我做这个很有趣,总的来说,我对最终结果感到满意和兴奋。

让我知道您是否认为我的页脚太残酷(如果我知道您可以避免使用程序来强行使用它,那么我将删除残酷情况。)有趣的事实:标头中的变量拼写为“面包”。

 __________
|123456789A|
|B         |
|C         |
|D         |
|E         |
|F         |
|G         |
|H         |
|I         |
|J         |
 ----------

标头:

b=7;r=3;e=6;a=.1;d=

页脚:

;print 2*str(d)[::3]

线索:

跨越

1. 74
B. 282.e2
C. 77
D. 8
E. 94
F. 247351.862e1
G. 99
H. -5312-5312
I. -32
J. 300000

1. 61000
2. 251
3. 09333.8333
4. 7878
5. -70
6. -0045.164
7. 88
8. 61225
9. -350
A. 69971

__________ |r+111-37-r| |'2.48e+22'| |6+765-0*56| |30/7%140*2| |0xe6b/0x27| |18**+9.1-9| |047--01551| |04/-7.0131| |0-1512%989| |'30000700'| ----------

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.