Це виклик копів та грабіжників . Відповідь тут, якщо ви поліцейський (виробник кросвордів), дайте відповідь на супутнє запитання, чи ви розбійник (вирішення кросвордів). Ви можете взяти на себе обидві ролі.
Копи (головоломки)
Ваше завдання - написати кросворд розміром 10 × 10, де замість слів чи фраз фрагменти коду є розв’язками ключів. Кожна підказка буде непорожнім послідовністю символів, таким чином, що за допомогою фрагмента коду, на який він посилається, буде надруковано послідовність до stdout.
Ваш пост повинен містити три речі:
- Ваша порожня кросвордна сітка розміром 10 × 10, яка використовується
#
для темряви (розділювачі ключів) та_
для вогнів (комірки, які потрібно заповнити).- Кожна горизонтальна або вертикальна послідовність з 2 або більше вогнів (обмежена темрявами або краєм сітки) - це запис, для якого ви повинні написати підказку. Для зручності слід пронумерувати їх звичайним способом (зліва направо, зверху вниз), замінивши
_
на початку кожного запису унікальний ідентифікатор символів (наприклад, 1, 2, ..., A, B , ...). - У вашій сітці може бути будь-яка кількість темних.
- У вашій сітці може бути будь-яка кількість підказок.
- Горизонтальні записи завжди читаються зліва направо, а вертикальні - зверху вниз.
- Кожна горизонтальна або вертикальна послідовність з 2 або більше вогнів (обмежена темрявами або краєм сітки) - це запис, для якого ви повинні написати підказку. Для зручності слід пронумерувати їх звичайним способом (зліва направо, зверху вниз), замінивши
- Список підказок, який містить кожен запис у вашій кросворді вниз та впоперек.
- Ключі повинні містити принаймні 1 та не більше 10 символів.
- Якщо ваші підказки містять пробіли, переконайтесь, що вони очевидні під час форматування публікації.
- Тема і виноска фрагменти коду, кожен з 20 символів або менше.
- Вони виконуються відповідно до та після фрагмента рішення та можуть допомогти перейменувати довгі вбудовані модулі тощо.
Процедура забезпечення підказки відповідає відповідному фрагменту коду:
- Об'єднати заголовок, фрагмент коду, і нижній колонтитул
[header][snippet][footer]
. - Запустіть це як звичайну програму (незалежно від минулих запусків) і подивіться, що було надруковано для stdout.
- Якщо це відповідає підказці, фрагмент є правильним рішенням.
Для простоти ви можете використовувати тільки друкований 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 годин, він вважається імунним, і творець може опублікувати рішення (відредагувавши свій пост і відзначивши його імунітетом).
Коп-переможець - це користувач, який подав імунну кросворд із найменшою кількістю дарків ( #
). У разі зв’язків виграє найвищий голос, який проголосував. Рішення повинно бути розміщено, щоб відповідь була прийнята.
Розбійник-переможець - це користувач, який розгадує більшість кросвордів. Перемикач - це їхня кількість голосів, що додаються до супровідного питання .
sha512sum <<<"
колонтитул: "|head -c10
(в Bash).