Teka-teki silang kode


22

Ini adalah tantangan . Jawab di sini jika Anda seorang polisi (pembuat teka-teki silang), jawab pertanyaan pendamping jika Anda seorang perampok (pemecah teka-teki silang). Anda dapat mengambil kedua peran tersebut.

Polisi (Puzzlers)

Tugas Anda adalah menulis teka-teki silang 10 × 10 di mana, alih-alih kata atau frasa, cuplikan kode adalah solusi untuk petunjuk. Setiap petunjuk akan berupa urutan karakter kosong sehingga menjalankan potongan kode yang dimaksud akan mencetak urutan ke stdout.

Posting Anda harus mencakup tiga hal:

  1. Kotak teka-teki silang 10 × 10 kosong Anda , gunakan #untuk gelap (pemisah petunjuk) dan _untuk lampu (sel yang harus diisi).
    • Setiap urutan horizontal atau vertikal dari 2 atau lebih lampu (dibatasi oleh kegelapan atau tepi kisi) adalah entri yang harus Anda tulis petunjuk. Untuk kenyamanan Anda harus memberi nomor ini dengan cara biasa (kiri-ke-kanan, atas-ke-bawah) dengan mengganti _di awal setiap entri dengan pengenal karakter yang unik (misalnya 1, 2, ..., A, B , ...).
    • Kisi Anda mungkin memiliki sejumlah kegelapan.
    • Kisi Anda mungkin memiliki sejumlah petunjuk.
    • Entri horisontal selalu dibaca dari kiri ke kanan dan vertikal atas-ke-bawah.
  2. Daftar petunjuk yang berisi setiap entri dalam teka-teki silang Anda, di bawah dan di seberang.
    • Petunjuk harus mengandung setidaknya 1 dan tidak lebih dari 10 karakter.
    • Jika petunjuk Anda berisi spasi, pastikan sudah jelas ketika Anda memformat posting Anda.
  3. Cuplikan kode header dan footer , masing-masing 20 karakter atau kurang.
    • Ini berjalan masing-masing sebelum dan sesudah cuplikan solusi, dan dapat membantu dalam penamaan ulang built-in yang panjang dan semacamnya.

Prosedur untuk memastikan suatu petunjuk cocok dengan potongan kode terkait adalah:

  1. Menggabungkan header, potongan, dan footer: [header][snippet][footer].
  2. Jalankan ini sebagai program normal (tidak tergantung dari proses yang lalu) dan lihat apa yang dicetak ke stdout.
  3. Jika ini cocok dengan petunjuk, snippet adalah solusi yang valid.

Untuk kesederhanaan, Anda hanya dapat menggunakan ASCII yang dapat dicetak (kode hex 20 hingga 7E) secara keseluruhan. Header dan footer saja dapat berisi tab dan baris baru.

catatan tambahan

  • Untuk cuplikan apa pun, menjalankan [header][snippet][footer]tidak boleh lebih dari satu menit di komputer modern yang layak .
  • Anda harus menentukan bahasa pemrograman Anda (dan versi).
  • Anda tidak boleh menggunakan algoritma hashing yang umum.
  • Anda tidak boleh menggunakan perpustakaan eksternal.
  • Segala sesuatu dalam kode Anda harus bersifat deterministik, invarian waktu, dan tidak memerlukan koneksi jaringan.
  • #dan _dapat terjadi dalam cuplikan (atau di mana pun).
  • Anda dapat mengungkapkan beberapa karakter dalam teka-teki silang seperti yang dilakukan COTO . Mereka masih dianggap sebagai lampu. Perampok tidak diharuskan untuk menggunakan ini, mereka hanya petunjuk yang bagus.

Contoh

Sebuah contoh sederhana menggunakan Python 3. Header: p=print;t=5;. Tidak punya catatan kaki.

Kisi yang belum terpecahkan:

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

Petunjuk:

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

Solusi yang valid:

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

Perampok (Pemecah)

Tugas Anda adalah untuk memecahkan teka-teki silang yang diposting oleh polisi. Anda harus menggunakan bahasa pemrograman yang persis sama dengan teka-teki silang yang diberikan, tetapi jika tidak solusi apa pun yang cocok dengan semua petunjuk itu valid.

Anda mungkin tidak memecahkan teka-teki silang Anda sendiri, dan Anda hanya dapat mencoba untuk menjawab masing-masing teka-teki silang lainnya satu kali.

Ingatlah untuk memposting solusi Anda dalam pertanyaan pendamping .

Mencetak gol

Jika teka-teki silang diselesaikan dalam waktu 72 jam, teka-teki silang itu tidak lagi beroperasi. Setelah teka-teki silang berlangsung tidak terpecahkan selama 72 jam itu dianggap kebal dan pencipta dapat memposting solusi (dengan mengedit posting mereka dan menandainya kebal).

Polisi yang menang adalah pengguna yang mengirimkan teka-teki silang kekebalan tubuh dengan warna gelap paling sedikit ( #). Dalam hal ikatan, pengajuan dengan suara terbanyak menang. Solusinya harus diposting untuk jawaban yang akan diterima.

Perampok yang menang adalah pengguna yang memecahkan teka-teki silang terbanyak. The tie-breaker adalah jumlah suara mereka dalam pertanyaan pendamping .


1
Anda sudah bosan dengan Kode Tetris?
feersum

3
@feersum Tidak ada yang memecahkan itu. Saya berharap yang ini lebih mudah bagi para perampok.
Hobi Calvin

9
Header:, sha512sum <<<"footer: "|head -c10(dalam Bash).
jimmy23013

1
@ user23013 Yikes. Saya pikir saya akan melarang hashing.
Calvin Hobbies

2
@ Radolvertice Meskipun sekali lagi bisa dikatakan telah diselesaikan secara instan ... jadi mungkin Anda benar. Tapi saya setuju bahwa sudah terlambat untuk mengubah itu (membuat puzzle yang bagus tanpa gelap bukanlah hal yang sepele).
Calvin Hobbies

Jawaban:


5

JavaScript, 0 gelap - kebal

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

Inilah solusi untuk Anda semua:

 __________
| ~ 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: );

Petunjuk

Di seberang
1. -671
B. 8
C. -460
D. 54
E. 33
F. salah
G. 1
H. benar
I. -151
J. -10776

Turun
1. NaN
2. 15
3. "1131t2"
4. 64
5. -48
6. 49
7. 6
8. benar
9. 8
A. 315

Beri tahu saya jika menurut Anda ada hasil yang saya salah hitung.


3
Apakah Anda yakin tidak mencampuradukkan Across and Down?
haskeller bangga

3

CJam, 41 darks - diselesaikan oleh Martin Büttner

Tidak ada header, footer atau kotak yang dipesan. Beri tahu saya jika ada bug yang potensial.

Solusi yang awalnya ada dalam pikiran saya tidak memiliki spasi putih - itu bukan yang ditemukan Martin Büttner.

Naik

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

Petunjuk

Di seberang

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

Turun

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

Semoga berhasil!


4
Terpecahkan. Terima kasih atas tantangannya, itu sangat menyenangkan! :)
Martin Ender

3

C - 26 darks, 5 reserved - diselesaikan oleh 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 * # _   |
+----------+     +----------+

Header

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

Footer

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

Petunjuk

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

Apa yang 5 turun?
feersum

@feersum 5 down adalah 0 (jawaban diedit)
es1024

Apakah ini dikompilasi dengan gcc dan berjalan tanpa argumen?
grc

@ grc ya itu
es1024


3

MATLAB - 28 Darks

Dipecahkan oleh feersum

Papan

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

Header

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

Footer

);

Petunjuk

Di seberang

  • 1 2
  • 6 -1i
  • 7 eye(3)
  • 9 0
  • B sqrt(-1)
  • C 1/25000
  • D 0
  • E [0;0;0]

Turun

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

Perhatikan bahwa saya telah mengubah sedikit petunjuk dalam teka-teki ini. Karena keluaran MATLAB selalu verbose (misalnya, bahkan mencetak unit imajiner 1imelebihi 10 karakter [ 0 + 1.0000i]) dan berubah tergantung pada format output default, petunjuknya adalah semua ekspresi sederhana yang output yang ditampilkan setara dengan solusi yang sesuai .

Dengan kata lain, Anda dapat mempertimbangkan petunjuk sebenarnya disp( CLUE ), di mana CLUEadalah petunjuk 10 karakter atau kurang dalam daftar di atas.

Semoga Calvin tidak keberatan. Saya tidak percaya ini melanggar semangat aturan panjang petunjuk, yang kemungkinan akan mencegah pembangun teka-teki silang memasukkan solusi yang sangat sulit untuk menghasilkan (yaitu kata-kata).

Kunci

    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

Python

Dipecahkan oleh feersum

Ini satu untuk memulai kita. Saya menggunakan Python 2.7.8 untuk mendapatkan petunjuk. Semoga berhasil :)

Saya telah mengungkapkan cuplikan terakhir sejak hashing sekarang tidak diizinkan. Juga, kisi-kisi memiliki 36 kegelapan (saya merindukan bagian mencetak ketika saya membuatnya).

Saya telah mengungkapkan beberapa karakter untuk membuatnya lebih mudah, tetapi solusi yang berbeda juga baik.

Kotak silang:

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

Petunjuk:

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

Tajuk:

a=49481
b=97381
x=

Footer:

print`x`[:10]

Untuk memperjelas, apakah catatan kaki pada barisnya sendiri atau ptepat setelah setiap potongan?
Hobi Calvin

@ Calvin'sHobbies Footer dimulai pada baris baru.
grc

Apakah A-lintas sesuatu yang sangat jahat? Saya memiliki kotak yang berfungsi untuk semuanya kecuali yang itu.
feersum

@feersum Ini adalah ekspresi matematis seperti yang lain, tetapi bisa jadi cukup rumit. Ingat, output terpotong menjadi 10 karakter.
grc


3

Javascript ES4 - 37 Darks, 10 Dicadangkan

Dipecahkan oleh bazzarg

Papan

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

Header

a=3;I=9;t=

Footer

;console.log(t);

Petunjuk

Di seberang

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

Turun

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

Perhatikan bahwa saya telah menyertakan representasi kedua dari papan bertanda "dicadangkan" untuk menunjukkan sepuluh lampu dengan karakter yang sudah terisi. Ini untuk membantu pemecah masalah dan untuk membatasi / menyamarkan kemungkinan solusi. Saya tidak yakin apakah Calvin ingin menghitung ini sebagai gelap atau terang.

Saya telah menggunakan dua representasi terpisah karena beberapa karakter yang terisi adalah angka dan mungkin bingung untuk angka petunjuk, dan untuk menyatakan gagap papan secara umum.

Tidak ada karakter spasi putih di salah satu solusi, meskipun Anda dapat mengisi lampu dengan karakter spasi putih jika mereka bekerja.

Solusi Asli

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

Ternyata, solusi bazzarg untuk 9 melintasi memiliki -di tempat yang salah, tetapi petunjuk itu seharusnya 10bukan -10(petunjuk dan jawaban pada awalnya berbeda dan saya membuat pergantian dengan tergesa-gesa). Karena itu, kami hanya akan mengatakan bahwa dua kesalahan memang benar dalam kasus ini. ;)


1
Ide menarik tentang karakter yang dipesan. Saya tidak akan membuat mereka dianggap sebagai kegelapan karena dengan begitu orang akan memiliki lebih banyak insentif untuk tidak menggunakannya.
Hobi Calvin

1
Saya mengalami masalah yang sama saat membuat teka-teki silang tetapi, ini tidak valid. Clues must contain at least 1 and no more than 10 characters.
jimmy23013

Saya tidak tahu JavaScript tetapi sesuatu seperti [object Window](yang tidak valid lagi, seperti yang ditunjukkan pengguna N) sepertinya tergantung pada dijalankan di lingkungan tertentu. Jika ini benar, bukankah itu harus ditentukan?
feersum

Pengguna 23013 benar. 8.141592653589793dan [object Window]terlalu panjang.
Calvin Hobbies

Saya dapat memotong ekspresi untuk 6-lintas. Harus jelas berapa jumlahnya (dan bagaimana cara menghasilkannya) terlepas dari jumlah tempat desimal. Adapun 9-lintas, outputnya memang spesifik browser (meskipun saya percaya format yang saya gunakan adalah umum untuk semua lima browser utama). Saya akan mengubah jawaban aktual dalam kasus ini.
COTO

1

Python 2, 0 darks - Immune

Python 2 hanya karena printdi bagian footer. Seharusnya bekerja dengan cara yang sama di Python 3 jika Anda mengubahprint pernyataan.

Saya senang membuat ini, dan secara keseluruhan saya puas dan sedikit bersemangat tentang hasil akhir.

Beri tahu saya jika Anda menganggap catatan kaki saya terlalu kejam (jika saya tahu Anda bisa menahan diri untuk tidak menggunakan program untuk memaksakannya, saya akan menghapus kekejamannya.) Fakta yang menyenangkan: variabel dalam tajuk mantra 'roti'.

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

Tajuk:

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

Footer:

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

Petunjuk:

Di seberang

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

Turun

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

Larutan

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.