Один з найпростіших кодів, написаний мовою програмування, - це послідовність друку програм із символів (наприклад, "Привіт, світ!"). Тим НЕ менше, S про м е е з про т е р я з мов програмування , як Brainfuck , навіть цей простий код дуже дратує писати.
Ваше завдання - написати програму (не обов'язково писати мозком), яка друкує (мінімальну довжину) програму Brainfuck, друкуючи даний текст.
Вхідні дані
Послідовність символів (між 1
і 255
) задається у будь-якому форматі (змінна, аргумент, stdin, файл, ...).
Вихід
Вихід - це дійсний (невідповідний [
і ]
) код, що не відповідає (припустимо, непідписаний 8-бітний огортаючий осередок та необмежена кількість комірок зліва та справа), друкуючи точний рядок, який був заданий як введення.
Наприклад, один можливий вихід для введення A
- це ++++++++[<++++++++>-]<+.
.
Програма не повинна забирати багато часу ( >2m
).
Програма BF не повинна тривати багато часу ( >10s
).
Оцінка балів
(Зверніть увагу: поточний метод підрахунку може змінитися, оскільки його непросто обчислити ...)
Тривалість програми (генерування коду BF) сама по собі не має значення. Однак жорстке кодування BF-кодів у програмному коді не в порядку. Тільки прийнятний діапазон (наприклад , БФ код друку одного символу. 0x01
: +.
) З BF - кодів може бути жорстко закодовані.
Оцінка - це сума довжини BF-кодів, що друкують ці рядки.
- Рядок,
Hello, world!
доданий до одного0x0A
(\n
) (тобто програми "Привіт, світ!") - Одиночний символ від
0x01
~0xFF
- Сума довжини цих 255 кодів BF множиться на
1/16
, округлюється та додається до оцінки.
- Сума довжини цих 255 кодів BF множиться на
- Список перших 16 рядків, породжених розщепленням випадкової послідовності байт , вироблену на 11-11-11 шляхом
0x00
, видаливши всі рядки нульової довжини. - Lenna.png , видаляючи всі
0x00
s. - Тексти пісні 99 пляшок пива , починаючи з нових
99 bottles~
рядків0x0A
, пункти розділені двома0x0A
s, а в кінці немає символу newline. - Інші рядки, які ви можете надати.
Ваша програма може включати в себе підрахунок балів.
Звичайно, переможець буде найнижчим кодом.
Lenna.png
буде домінувати над оцінкою, оскільки це, безумовно, найбільший внесок. Може, нормалізувати трохи за розміром?