รหัส Crosswords


22

นี่เป็นความท้าทายของตอบที่นี่ถ้าคุณเป็นตำรวจ (ผู้สร้างคำไขว้) ตอบคำถามที่แสดงร่วมถ้าคุณเป็นโจร (ผู้แก้ปริศนาอักษรไขว้) คุณอาจใช้ทั้งสองบทบาท

ตำรวจ (Puzzlers)

งานของคุณคือการเขียนตัวต่อไขว้ 10 × 10 ตัวแทนที่จะเป็นคำหรือวลีตัวอย่างของรหัสคือคำตอบสำหรับปม เงื่อนงำแต่ละอันจะเป็นลำดับอักขระที่ไม่มีข้อยกเว้นเช่นการเรียกใช้ส่วนย่อยของโค้ดที่อ้างถึงจะพิมพ์ลำดับไปยัง stdout

โพสต์ของคุณจะต้องมีสามสิ่ง:

  1. ว่างไขว้กริด 10 × 10 ของคุณใช้#สำหรับความมืด (ตัวคั่นปม) และ_สำหรับไฟ (เซลล์ที่ต้องใส่)
    • ทุกลำดับแนวนอนหรือแนวตั้งของแสง 2 หรือมากกว่า (ล้อมรอบด้วยความมืดหรือขอบกริด) เป็นรายการที่คุณต้องเขียนคำใบ้ เพื่อความสะดวกคุณควรกำหนดหมายเลขตามปกติ (จากซ้ายไปขวา, จากบนลงล่าง) โดยแทนที่_ที่จุดเริ่มต้นของแต่ละรายการด้วยตัวระบุอักขระที่ไม่ซ้ำกัน (เช่น 1, 2, ... , A, B , ... )
    • กริดของคุณอาจมีจำนวนมืด
    • กริดของคุณอาจมีเงื่อนงำจำนวนเท่าใดก็ได้
    • รายการแนวนอนมักจะอ่านจากซ้ายไปขวาและแนวตั้งจากบนลงล่าง
  2. รายการของเงื่อนงำที่มีทุกรายการในคำไขว้ของคุณลงและข้าม
    • เบาะแสต้องมีอย่างน้อย 1 และไม่เกิน 10 ตัวอักษร
    • หากเบาะแสของคุณมีช่องว่างให้แน่ใจว่าพวกเขาชัดเจนเมื่อคุณจัดรูปแบบโพสต์ของคุณ
  3. ตัวอย่างโค้ดส่วนหัวและส่วนท้ายแต่ละอักขระ 20 ตัวหรือน้อยกว่า
    • เหล่านี้ทำงานตามลำดับก่อนและหลังตัวอย่างโซลูชันและอาจช่วยในการเปลี่ยนชื่อบิวด์อินที่ยาวและเช่นนั้น

ขั้นตอนการทำให้มั่นใจว่าเบาะแสตรงกับข้อมูลโค้ดที่เกี่ยวข้องคือ:

  1. Concatenate [header][snippet][footer]ส่วนหัวข้อมูลโค้ดและส่วนท้าย:
  2. รันโปรแกรมนี้เป็นโปรแกรมปกติ (โดยไม่ขึ้นกับการทำงานที่ผ่านมา) และดูสิ่งที่พิมพ์ไปยัง stdout
  3. หากสิ่งนี้ตรงกับคำใบ้ตัวอย่างก็เป็นทางออกที่ถูกต้อง

เพื่อความเรียบง่ายคุณสามารถใช้ASCII ที่พิมพ์ได้ (รหัสฐานสิบหกถึง 20E) ตลอด ส่วนหัวและท้ายกระดาษเพียงอย่างเดียวอาจมีแท็บและบรรทัดใหม่

หมายเหตุเพิ่มเติม

  • สำหรับตัวอย่างข้อมูลใด ๆ ที่ทำงาน[header][snippet][footer]ไม่ควรใช้เวลานานกว่านาทีที่คอมพิวเตอร์ที่ทันสมัยที่ดี
  • คุณต้องระบุภาษาการเขียนโปรแกรมของคุณ (และเวอร์ชั่น)
  • คุณไม่สามารถใช้อัลกอริทึมการแฮชทั่วไปได้
  • คุณไม่สามารถใช้ไลบรารีภายนอก
  • ทุกอย่างในรหัสของคุณจะต้องถูกกำหนดเวลาและไม่จำเป็นต้องเชื่อมต่อเครือข่าย
  • #และ_อาจเกิดขึ้นในตัวอย่าง (หรือที่อื่น ๆ )
  • คุณอาจจะเปิดเผยบางส่วนของตัวละครในไขว้เป็นCOTO ได้ทำ พวกเขายังคงนับเป็นแสง โจรไม่จำเป็นต้องใช้สิ่งเหล่านี้พวกเขาเป็นเพียงคำแนะนำที่ดี

ตัวอย่าง

ตัวอย่างง่ายๆโดยใช้งูหลาม 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#####
####)#####

Robbers (Solvers)

งานของคุณคือแก้ปริศนาอักษรไขว้ที่โพสต์โดยตำรวจ คุณต้องใช้ภาษาการเขียนโปรแกรมที่ถูกต้องเหมือนกันกับคำไขว้ที่ได้รับ แต่มิฉะนั้นการแก้ปัญหาใด ๆ ที่ตรงกับปมทั้งหมดจะถูกต้อง

คุณไม่สามารถแก้ปริศนาอักษรไขว้ของคุณเองและคุณอาจพยายามตอบปริศนาอักษรไขว้อื่น ๆ เพียงครั้งเดียวเท่านั้น

โปรดจำไว้ว่าการโพสต์การแก้ปัญหาของคุณในคำถามสหาย

เกณฑ์การให้คะแนน

หากแก้ไขคำไขว้ภายใน 72 ชั่วโมงจะไม่สามารถใช้งานได้อีกต่อไป เมื่อไขว้กินเวลานาน 72 ชั่วโมงแล้วจะถือว่ามีภูมิคุ้มกันและผู้สร้างอาจโพสต์คำตอบ (โดยแก้ไขโพสต์และทำเครื่องหมายภูมิคุ้มกัน)

ตำรวจที่ชนะคือผู้ใช้ที่ส่งไขว้ภูมิคุ้มกันกับความมืดที่น้อยที่สุด ( #) ในกรณีที่มีความสัมพันธ์กันการส่งผลโหวตสูงสุดจะชนะ จะต้องโพสต์คำตอบเพื่อให้ได้คำตอบ

โจรผู้ชนะคือผู้ใช้ที่ไขปริศนาอักษรไขว้ที่สุด ผูกเบรกเกอร์คือผลรวมของพวกเขาขึ้นคะแนนเสียงในคำถามสหาย


1
คุณเบื่อกับ Code Tetris แล้วหรือยัง?
feersum

3
@feersum ไม่มีใครแก้ปัญหาเหล่านั้นได้ ฉันหวังว่าอันนี้จะง่ายกว่าโจร
งานอดิเรกของ Calvin

9
ส่วนหัว: sha512sum <<<"ส่วนท้าย: "|head -c10(ใน Bash)
jimmy23013

1
@ user23013 Yikes ฉันคิดว่าฉันจะห้ามไม่ให้ hashing
งานอดิเรกของ Calvin

2
@Rololvertice ถึงแม้ว่าจะมีคนพูดอีกครั้งว่ามันได้รับการแก้ไขทันที ... ดังนั้นบางทีคุณพูดถูก แต่ฉันยอมรับว่ามันสายเกินไปที่จะเปลี่ยนแปลงสิ่งนั้น (การสร้างตัวต่อที่ดีโดยไม่มีความมืดนั้นไม่สำคัญเลย)
งานอดิเรกของ Calvin

คำตอบ:


5

JavaScript, 0 darks - ภูมิคุ้มกัน

 __________
| 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
ข. 8
ค. -460
D. 54
E. 33
ฉ. เท็จ
ช. 1
เอชจริง
I. -151
เจ -10776

ลง
1. น่าน
2. 15
3. "1131t2"
4. 64
5. -48
6. 49
7. 6
8. จริง
9. 8
A. 315

แจ้งให้เราทราบหากคุณคิดว่ามีผลลัพธ์ใด ๆ ที่ฉันคาดคะเน


3
แน่ใจหรือไม่ว่าคุณไม่ได้รวมข้ามและข้าม?
ภูมิใจ haskeller

3

CJam, 41 darks - แก้ไขโดย Martin Büttner

ไม่มีส่วนหัวส่วนท้ายหรือสี่เหลี่ยมที่สงวนไว้ แจ้งให้เราทราบข้อบกพร่องที่อาจเกิดขึ้น

วิธีการแก้ปัญหาที่ฉันมีอยู่ในใจไม่มีช่องว่าง - มันไม่ใช่สิ่งที่ Martin Bü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

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

@feersum 5 down คือ 0 (แก้ไขคำตอบ)
es1024

มันรวบรวมกับ gcc และเรียกใช้โดยไม่มีข้อโต้แย้ง?
grc

@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
  • B sqrt(-1)
  • C 1/25000
  • D 0
  • E [0;0;0]

ลง

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

โปรดทราบว่าฉันได้เปลี่ยนสิ่งต่าง ๆ เล็กน้อยในเบาะแสสำหรับปริศนานี้ เนื่องจากผล MATLAB คงเส้นคงวา verbose (ตัวอย่างเช่นแม้กระทั่งการพิมพ์หน่วยจินตภาพ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ถูกต้องหลังจากแต่ละตัวอย่างข้อมูล
งานอดิเรกของ Calvin

@ Calvin'sHobbies ส่วนท้ายเริ่มต้นในบรรทัดใหม่
grc

A- ข้ามสิ่งที่โหดร้ายโดยเฉพาะอย่างยิ่ง? ฉันมีตารางที่ใช้งานได้กับทุกสิ่งยกเว้นอันนั้น
feersum

@feersum มันแสดงออกทางคณิตศาสตร์เหมือนคนอื่น ๆ แต่มันค่อนข้างยุ่งยาก โปรดจำไว้ว่าผลลัพธ์ที่ได้รับการตัดทอนถึง 10 ตัวอักษร
grc


3

Javascript ES4 - 37 Darks, 10 Reserved

แก้ไขได้โดย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

โปรดทราบว่าฉันได้รวมการเป็นตัวแทนครั้งที่สองของคณะกรรมการที่ระบุว่า "สงวนไว้" เพื่อระบุสิบไฟพร้อมอักขระที่กรอกไว้แล้วสิ่งเหล่านี้จะช่วยแก้ปัญหาและเพื่อ จำกัด / แก้ปัญหาแก้ปัญหาที่เป็นไปได้ ฉันไม่แน่ใจว่า Calvin ต้องการนับสิ่งเหล่านี้ว่ามืดหรือสว่าง

ฉันใช้การแสดงสองแบบแยกกันเนื่องจากอักขระที่เติมเต็มบางตัวเป็นตัวเลขและอาจสับสนสำหรับหมายเลขเงื่อนงำและเพื่อแยกกระดานออกโดยทั่วไป

ไม่มีอักขระช่องว่างในโซลูชันใด ๆ แม้ว่าคุณจะยินดีเติมไฟด้วยอักขระช่องว่างหากทำงานได้

โซลูชันดั้งเดิม

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

ตามที่ปรากฎทางออกของ bazzarg สำหรับ 9 การข้ามมี-ผิดที่ แต่เบาะแสควรจะ10แทน-10(เบาะแสและคำตอบต่างกัน แต่เดิมแล้วฉันเปลี่ยนสวิตช์อย่างเร่งรีบ) ดังนั้นเราจะพูดว่าผิดสองอย่างจะทำให้ถูกต้องในกรณีนี้ ;)


1
แนวคิดที่น่าสนใจเกี่ยวกับตัวละครที่สงวนไว้ ฉันจะไม่ทำให้พวกเขานับว่ามืดเพราะคนจะมีแรงจูงใจมากกว่าที่จะไม่ใช้มัน
งานอดิเรกของ Calvin

1
ฉันพบปัญหาเดียวกันในขณะที่สร้างคำไขว้ แต่นี่ไม่ถูกต้อง Clues must contain at least 1 and no more than 10 characters.
jimmy23013

ฉันไม่รู้จัก JavaScript แต่มีลักษณะคล้าย[object Window](ซึ่งไม่ถูกต้องอยู่แล้วเนื่องจากผู้ใช้ N ชี้ให้เห็น) ดูเหมือนว่าจะขึ้นอยู่กับการทำงานในสภาพแวดล้อมที่เฉพาะเจาะจง หากนี่เป็นความจริงไม่ควรระบุไว้
feersum

ผู้ใช้ 23013 ถูกต้อง 8.141592653589793และ[object Window]ยาวเกินไป
งานอดิเรกของ Calvin

ฉันสามารถตัดทอนนิพจน์ของ 6-cross ได้ มันควรจะชัดเจนว่าตัวเลขคืออะไร (และวิธีการสร้างมัน) โดยไม่คำนึงถึงจำนวนตำแหน่งทศนิยม สำหรับ 9-cross ผลลัพธ์นั้นเป็นเบราว์เซอร์ที่เฉพาะเจาะจง (แม้ว่าฉันเชื่อว่ารูปแบบที่ฉันใช้นั้นเป็นเรื่องธรรมดาสำหรับเบราว์เซอร์หลักทั้งห้า) ฉันจะแก้ไขคำตอบที่แท้จริงในกรณีนี้
COTO

1

Python 2, 0 darks - Immune

Python 2 เป็นเพียงเพราะprintในส่วนท้าย มันควรจะทำงานในลักษณะเดียวกันกับ Python 3 หากคุณเปลี่ยนprintคำสั่ง

ฉันสนุกกับการทำสิ่งนี้และโดยรวมแล้วฉันก็พอใจและตื่นเต้นกับผลสุดท้าย

แจ้งให้เราทราบหากคุณคิดว่าส่วนท้ายของฉันโหดร้ายเกินไป (ถ้าฉันรู้ว่าคุณสามารถละเว้นจากการใช้โปรแกรมเพื่อเดรัจฉานบังคับได้ฉันจะลบความโหดร้ายออกไป) ข้อเท็จจริงที่สนุกสนาน: ตัวแปรใน 'การสะกด' ส่วนหัว

 __________
|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'| ----------

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.