Для цього завдання художня ковдра ASCII буде блоком тексту шириною 24 символи та заввишки 18 рядків, що містить символи =-<>/\
у вигляді ковдри, що горизонтально та вертикально симетрично.
Приклад ковдри:
========================
------------------------
//\\//\\\//\/\\///\\//\\
<<><<>>>>><<>><<<<<>><>>
/\\/\\\\/\/\/\/\////\//\
------------------------
/\/////\\///\\\//\\\\\/\
\///\/\/\\\\////\/\/\\\/
\///\/\/\\\\////\/\/\\\/
/\\\/\/\////\\\\/\/\///\
/\\\/\/\////\\\\/\/\///\
\/\\\\\//\\\///\\/////\/
------------------------
\//\////\/\/\/\/\\\\/\\/
<<><<>>>>><<>><<<<<>><>>
\\//\\///\\/\//\\\//\\//
------------------------
========================
Усі ковдри мають однакову форму:
- Їх завжди 24 по 18.
- Верхня лінія (рядок 1) і нижня (рядок 18) проходять
=
всю дорогу. - Рядки 2, 6, 13 і 17 проходять
-
повсюдно. - Рядки 4 і 15 - однаковий випадковий горизонтально-симетричний малюнок
<
і>
. - Усі інші рядки (3, 5, 7, 8, 9, 10, 11, 12, 14, 16) заповнюються повністю
/
і\
абсолютно випадковим чином таким чином, що вся ковдра залишається горизонтальною і вертикально симетричною .
Зауважте, що при складанні ковдри рівно навпіл, вертикально чи горизонтально, форми символів точно збігаються. Не плутайте це з самими персонажами, які співпадають. наприклад, лінія 3 та лінія 16 не є однаковими, вони є вертикальними дзеркальними зображеннями.
Виклик
Напишіть програму або функцію, яка буде друкувати або повертати випадкове ковдру ASCII.
Завдяки безлічі твердо кодованих ліній та симетрії, єдина реальна випадковість виходить з перших 12 символів на рядках 3, 4, 5, 7, 8, 9:
- Перші 12 символів у рядку 4 повинні мати будь-яку довжину 12 рядків символів
<
і>
. - Перші 12 символів у рядках 3, 5, 7, 8, 9 повинні мати будь-яку довжину 12 рядків символів
/
і\
(незалежно один від одного). - Ці випадкові рядки потім відображаються відповідно дзеркально, щоб зробити всю ковдру.
Виграє найкоротша відповідь у байтах. Tiebreaker - це раніше повідомлення.
Ви можете використовувати генератори псевдовипадкових чисел. (Ні, вам не потрібно доводити, що всі 12 символьних рядків <>
або /\
можуть бути згенеровані за допомогою вашої мови PRNG.)
Вихідний варіант може необов'язково містити зворотний новий рядок, але немає пробілів чи інших символів, крім того, що необхідно для ковдри.