Існує 40 способів розташування спрямованого гамільтонового шляху на сітці 3 × 3. На
цій графіці ( спасибі Sp3000! ) Показано лише 20 непрямих шляхів. Проведіть кожну кольорову лінію в обох напрямках на 40 спрямованих контурах.
Виклик
Використовуючи лише друкований ASCII , запишіть сітку символів 3 × 3, наприклад:
ABC
DEF
GHI
Коли кожен з 40 спрямованих контурів читається з цієї сітки як 40 однорядних, 9-символьних програм, мета полягає в тому, щоб кожна програма виводила унікальне ціле число від 1 до 40. Зробити це для всіх 40 шляхів здається складно і малоймовірно, тому потрібно лише змусити його працювати стільки шляхів, скільки ви можете.
Виграш, подання якого 40-ти контурних програм виводить найбільш чіткі числа від 1 до 40. Tiereaker переходить до більш раннього подання.
Програми шляху, які помиляються або не виводять ціле число від 1 до 40, або виводять ціле число, яке вже охоплює інша програма шляху, не враховуються. Конкретно:
- Програми, які помиляються під час компіляції, запуску чи виходу із програми, не враховуються. Попередження нормально.
- Програми, які не виводять ціле число від 1 до 40, або виводять щось злегка неправильне, наприклад,
-35
або35 36
не зараховуються. - Програми, які потребують введення користувачем для отримання результатів, не враховуються.
- Програми, які ніколи не закінчуються, не враховуються.
- З цього моменту , програми, які не є детермінованими, не враховуються.
- В іншому випадку дійсні програми, які виводять ціле число від 1 до 40, що вже отримана інша дійсна програма, не враховуються. (Перша програма буде враховуватися.)
- Тільки програми, які виводять цілі представлення чисел від 1 до 40 (включно), враховуються до вашої загальної кількості. Цифри , як очікується, в звичайному
1
,2
, ...,39
,40
формат, якщо це не є нормою для вашої мови. (Зворотний новий рядок у виході добре.) - Яке число ваших програм і в якому порядку вони перебувають, значення не має. Має значення лише кількість чітких цілих чисел від дійсних програм.
Усі програми програми повинні бути виконані однією мовою. Однак "програми" насправді можуть бути функціями (без необхідних аргументів) або командами REPL , а також повноцінними програмами, які друкують або повертають цільове ціле число. Ви можете змішувати та співставляти між функціями, командами REPL та повними програмами.
Ваші 9 символів для друку ASCII не потрібно відрізняти.
Приклад
Якщо ваша сітка 3 × 3 була
ABC
DEF
GHI
і ваші 40 програм та результатів виглядали приблизно так
ABCFEDGHI -> 26
ABCFIHEDG -> 90
ABCFIHGDE -> 2
ABEDGHIFC -> syntax error
ADEBCFIHG -> prints 40 but then errors
ADGHEBCFI -> 6
ADGHIFCBE -> 6
ADGHIFEBC -> 6
CBADEFIHG -> runtime error
CBADGHEFI -> 3
CBADGHIFE -> 4
CFEBADGHI -> -32
CFIHEBADG -> 38.0
CFIHGDABE -> "36"
EDABCFIHG -> 33
EFCBADGHI -> no output
EHGDABCFI -> compilation error
EHIFCBADG -> 8
GDABCFEHI -> 22
GHEDABCFI -> 41
IHGDEFCBA -> 0
GDEHIFCBA -> '9'
EDGHIFCBA -> +10
CFIHGDEBA -> 11
GHIFCBEDA -> error
IFCBEHGDA -> error
EBCFIHGDA -> prints 23 but then loops infinitely
CBEFIHGDA -> randomly prints either 24 or 44
GHIFEDABC -> error
IFEHGDABC -> 30
EFIHGDABC -> 39
IHGDABEFC -> 7
GDABEHIFC -> 29
EBADGHIFC -> -1
GHIFCBADE -> 26
IHGDABCFE -> 1
IFCBADGHE -> error
GDABCFIHE -> no output
IHEFCBADG -> no output
IFCBADEHG -> "quack"
ваш результат буде 14, тому що існує 14 чітких цілих чисел від 1 до 40 дійсно виведення, а саме 26 2 6 3 4 33 8 22 11 30 39 7 29 1
.
123654789