Код кросвордів


22

Це виклик . Відповідь тут, якщо ви поліцейський (виробник кросвордів), дайте відповідь на супутнє запитання, чи ви розбійник (вирішення кросвордів). Ви можете взяти на себе обидві ролі.

Копи (головоломки)

Ваше завдання - написати кросворд розміром 10 × 10, де замість слів чи фраз фрагменти коду є розв’язками ключів. Кожна підказка буде непорожнім послідовністю символів, таким чином, що за допомогою фрагмента коду, на який він посилається, буде надруковано послідовність до stdout.

Ваш пост повинен містити три речі:

  1. Ваша порожня кросвордна сітка розміром 10 × 10, яка використовується #для темряви (розділювачі ключів) та _для вогнів (комірки, які потрібно заповнити).
    • Кожна горизонтальна або вертикальна послідовність з 2 або більше вогнів (обмежена темрявами або краєм сітки) - це запис, для якого ви повинні написати підказку. Для зручності слід пронумерувати їх звичайним способом (зліва направо, зверху вниз), замінивши _на початку кожного запису унікальний ідентифікатор символів (наприклад, 1, 2, ..., A, B , ...).
    • У вашій сітці може бути будь-яка кількість темних.
    • У вашій сітці може бути будь-яка кількість підказок.
    • Горизонтальні записи завжди читаються зліва направо, а вертикальні - зверху вниз.
  2. Список підказок, який містить кожен запис у вашій кросворді вниз та впоперек.
    • Ключі повинні містити принаймні 1 та не більше 10 символів.
    • Якщо ваші підказки містять пробіли, переконайтесь, що вони очевидні під час форматування публікації.
  3. Тема і виноска фрагменти коду, кожен з 20 символів або менше.
    • Вони виконуються відповідно до та після фрагмента рішення та можуть допомогти перейменувати довгі вбудовані модулі тощо.

Процедура забезпечення підказки відповідає відповідному фрагменту коду:

  1. Об'єднати заголовок, фрагмент коду, і нижній колонтитул [header][snippet][footer].
  2. Запустіть це як звичайну програму (незалежно від минулих запусків) і подивіться, що було надруковано для stdout.
  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#####
####)#####

Розбійники (Solvers)

Ваше завдання - розгадати кросворди, викладені копами. Ви повинні використовувати ту саму точну мову програмування, як і кросворд, але в іншому випадку будь-яке рішення, яке відповідає всім підказкам, є дійсним.

Ви не можете розгадати свої власні кросворди, і ви можете спробувати відповісти на кожен з інших кросвордів лише один раз.

Не забудьте розмістити свої рішення у супровідному питанні .

Оцінка балів

Якщо кросворд вирішено протягом 72 годин, він більше не працює. Після того, як кросворд триває нерозв’язаним протягом 72 годин, він вважається імунним, і творець може опублікувати рішення (відредагувавши свій пост і відзначивши його імунітетом).

Коп-переможець - це користувач, який подав імунну кросворд із найменшою кількістю дарків ( #). У разі зв’язків виграє найвищий голос, який проголосував. Рішення повинно бути розміщено, щоб відповідь була прийнята.

Розбійник-переможець - це користувач, який розгадує більшість кросвордів. Перемикач - це їхня кількість голосів, що додаються до супровідного питання .


1
Ви вже нудьгували з Code Tetris?
feersum

3
@feersum Це ніхто не вирішує. Я сподіваюсь, що цьому на розбійниках легше.
Захоплення Кальвіна

9
Заголовок:, sha512sum <<<"колонтитул: "|head -c10(в Bash).
jimmy23013

1
@ user23013 Yikes. Я думаю, що забороняю гасити.
Захоплення Кальвіна

2
@Rodolvertice Хоча тоді, можна сказати, миттєво вирішили ... так що, можливо, ви праві. Але я погоджуюся, що це занадто пізно для цього змінити (складати гарну головоломку без темнощів не зовсім банально).
Захоплення Кальвіна

Відповіді:


5

JavaScript, 0 дарк - імунітет

 __________
| 123456789A |
| Б |
| C |
| D |
| Е |
| F |
| G |
| Н |
| Я |
| 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
C. -460
D. 54
E. 33
Ф. хибний
Г. 1
H. правда
І. -151
Ж. -10776

Вниз
1. NaN
2. 15
3. "1131t2"
4. 64
5. -48
6. 49
7. 6
8. правда
9. 8
А. 315

Повідомте мене, якщо ви вважаєте, що є якісь результати, які я прорахував.


3
Ви впевнені, що не переплутали "Поперек" та "Вниз"?
гордий haskeller

3

CJam, 41 дарк - вирішив Мартін Бюттнер

Без заголовків, колонтитулів або зарезервованих квадратів. Повідомте мене про можливі помилки.

Мая на увазі рішення, яке я спочатку мав на увазі, не мала пробілу - це не той, який знайшов Мартін Бюттнер.

Правління

#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
Вирішено. Дякую за виклик, це було дійсно весело! :)
Мартін Ендер

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 вниз - 0 (відповідь відредаговано)
es1024

Чи компілюється він з gcc та працює без аргументів?
grc

@grc так це
es1024


3

МАТЛАБ - 28 дарк

Вирішується феерсумом

Дошки

  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)
  • С 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

Пітон

Вирішується феерсумом

Ось один, щоб почати нас. Я використовував 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'sHobbies Футер починається з нового рядка.
grc

А-поперек щось особливо диявольське? У мене є сітка, яка працює на все, крім тієї.
feersum

@feersum Це математичний вираз, як і інші, але він може бути досить складним. Пам'ятайте, що результат виводиться на 10 символів.
grc


3

Javascript ES4 - 37 дарк, 10 зарезервовано

Вирішено базаргом

Дошки

   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

Зауважте, що я включив друге представлення дошки з позначкою "Зарезервовано", щоб вказати на десять вогнів із уже заповненими символами. Вони допоможуть вирішити проблему та обмежити / відключити можливі рішення. Я не впевнений, чи хоче Калвін вважати це темрявою чи вогню.

Я використовував два окремих подання, оскільки деякі заповнені символи - це числа, які можуть бути переплутані для підказки чисел та загальної дошки.

У жодному з рішень немає символів пробілу, хоча ви можете заповнити світло символами пробілу, якщо вони працюють.

Оригінальне рішення

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

Як виявляється, рішення bazzarg для 9 поперек не -в тому місці, але підказка повинна була бути 10замість -10(ключ і відповідь спочатку були різними, і я перемкнувся на перемичку). Отже, ми просто скажемо, що в цьому випадку дві кривди роблять право. ;)


1
Цікава ідея про зарезервованих персонажів. Я не змушу їх вважати тьмами, бо тоді люди ще більше стимулюватимуть їх не використовувати.
Захоплення Кальвіна

1
Я зіткнувся з тією ж проблемою під час створення кросворду, але це не вірно. Clues must contain at least 1 and no more than 10 characters.
jimmy23013

Я не знаю JavaScript, але щось на кшталт [object Window](що все одно недійсне, як вказував користувач N) звучить так, що це залежить від запуску в конкретному середовищі. Якщо це правда, чи не слід цього вказувати?
feersum

Користувач 23013 має рацію. 8.141592653589793і [object Window]занадто довгі.
Захоплення Кальвіна

Я можу скоротити вираз для 6 впоперек. Повинно бути очевидним, що таке число (і як його генерувати) незалежно від кількості знаків після коми. Що стосується 9-ти поперек, то результат справді специфічний для браузера (хоча я вважаю, що формат, який я використав, є спільним для всіх п'яти основних браузерів). Я в цьому випадку зміню фактичну відповідь.
COTO

1

Python 2, 0 darks - Імунна

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.