Сьогоднішня каракуля Google - це відзначення 50 років кодування дітей : Мета - запрограмувати шлях маленького зайчика, щоб він міг з'їсти всю моркву. Існує 4 типи блоків (див. Малюнки нижче):
Зліва направо:
O("...", k)
= помаранчевий шматок: цеfor
петлі, які виконують k в рази більше програми"..."
.G
= зелений шматок: якщо можна, ідіть на крок вперед, інакше нічого не робітьBl
= синій шматок: поверніть праворуч і тримайтеся на тому ж блоціBr
= синій шматок: поверніть ліворуч і залишайтеся на тому ж блоці
Код вище можна записати як
O(O(G G Br, 4) Bl Bl, 23)
Кожен блок ( G, Bl, Br, O(...,k)
) вважається 1 одиницею, тому ця програма має довжину 7. Зауважте, що значення значення k
включено всередину 1 одиниці O
.
Є 6 рівнів. Щоб закінчити рівень, потрібно з'їсти всю моркву. Це не проблема, якщо ваша програма виконана не повністю, рівень закінчується безпосередньо, коли ви їсте останню моркву.
Ми припускаємо, що всі 4 типи блоків доступні на кожному рівні.
Ваше завдання - знайти єдину програму, яка вирішує кожен рівень гри.
Виграє найкоротша програма в блоках.
Екранні знімки кожного рівня:
рівень 1:
рівень 2:
рівень 3:
рівень 4:
рівень 5:
рівень 6: