Нитку з розбійниками можна знайти тут: The Mystery String Printer (Robbers)
Ваше завдання
- Написати програму, функцію або сценарій REPL, який друкує рядок до STDOUT.
- Розбійники спробують створити програму, яка друкує ту саму рядок.
- Якщо вони успішно зможуть створити програму протягом 7 днів, ваше надсилання буде зламано.
- Якщо ніхто не може створити програму, яка надрукує ту саму рядок протягом 7 днів, ваше подання надійне. Ви можете розкрити свою програму або залишити її для виклику майбутніх грабіжників. Однак якщо ви не розкриєте це, ви не зможете отримати жодних балів від свого подання (не ставте "безпечно" у своєму заголовку відповідей, якщо ви вирішите це зробити).
Обмеження
- Програма повинна бути менше або дорівнює 128 байтам (детальніше про це пізніше).
- Якщо програма залежить від назви програми або імені / вмісту зовнішнього файлу, ви повинні сказати, що це робиться, і включити це до загального числа байтів.
- Надрукований рядок повинен бути меншим або рівним 2048 байт.
- Надрукований рядок повинен складатися з символів, що друкуються ASCII (можна включати нові рядки).
- Програма повинна виробляти один і той же результат кожного разу, коли вона запускається.
- Вбудовані криптографічні примітиви (включаючи будь-які rng, шифрування, дешифрування та хеш) заборонені.
- Програма не повинна приймати дані.
- Немає стандартних лазівки
Оцінка балів
- Якщо подання зламається до семи днів, подання заробляє 0 балів.
- Безпечне подання ≤128 символів заробляє 1 бал.
- Безпечне подання ≤64 символів заробляє 2 бали. Якщо вона менша або дорівнює 32 байтам, вона заробляє 4 бали тощо.
- Кожне безпечне подання також отримує додатковий бонус у 3 бали (незалежно від тривалості).
- Існує невеликий штраф (1/2 бала) за кожен зламаний після першого.
- Зауважте, що рішення грабіжника повинно бути в однаковому діапазоні тривалості програми.
- Кожна людина може подати максимум 1 програму на діапазон байтів на мову (різні версії та довільні заміни однієї мови не враховуються як окремі мови). Приклад: ви можете розмістити 32-байтну і 64-байтну піт-програму, але ви не можете розмістити 128-байтну програму як у Java 7, так і в Java 8.
- Перемагає людина з найбільшою кількістю балів.
Подання
Кожна інформація повинна містити такі відомості:
- Назва мови. Усі нові рішення розбійників повинні бути однаковою мовою.
- Діапазон розміру програми (це найближча потужність на два вище, ніж розмір програми; наприклад, якщо ваша програма становить 25 байт, це буде "≤32").
- Фактичний рядок для друку
- Якщо подання надійне, введіть у свій заголовок "безпечне" та довжину програми (до найближчої сили 2). Якщо у вашому заголовку є кілька чисел, поставте потужність 2 останніми.
Цей фрагмент стека генерує таблицю лідерів та перелічує всі відкриті подання. Якщо є якісь проблеми з фрагментом, залиште коментар.
Використовуйте наступні формати для записів:
Language, (any text with the program size as the last number)
=
або
Language
=
Length <= 16
Зауважте, що фрагмент вводить перше слово у заголовок лише як мову, якщо він не виявить кома.
Для безпечного подання введіть безпеку у свій заголовок. Фрагмент автоматично помістить вашу програму у стовпчик "безпечний", якщо час закінчиться, тому це більше скаже будь-яким грабіжникам, що ваша програма безпечна.
Для тріщин подання покладіть тріщини у своєму заголовку.
Програма також повинна бути в змозі розпізнати, якщо коментар каже "зламаний" і має посилання; однак це не гарантується.
Порядок вибору: Окуляри -> # Безпечні подання -> Найменша кількість тріщин.
Зауважте, що фрагмент сортується за відкритими поданнями до найменшого розтріскування, але відкриті матеріали не будуть зараховані до кінця конкурсу.
Зараз ця проблема закрита.
Переможець більшості очок: Денніс
Найбільш безпечні матеріали: DLosc
(Зверніть увагу, що кількість надійних подань не відповідає бальній сумі, оскільки розмір програм враховується при підрахунку балу).