Змагання
Дано два рядки, кожна довжиною до 30, що складається з друкованих символів ASCII (кодів) ), поставте їх на шкалу балансу в найменших байтах коду! Це складається з наступних етапів:
- Обчисліть і порівняйте ваги пасм
- Виберіть відповідну нахилену шкалу ASCII
- Покладіть дві струни на шкалу
Рядки можуть передаватися у вигляді масиву, двох аргументів або будь-якого іншого розумного методу.
Вага рядки визначається як сума ваг символів цього рядка, де:
- Пробіли мають вагу 0 (
)
- Малі літери мають вагу 2 (
abcdefghijklmnopqrstuvwxyz
) - Великі літери мають вагу 4 (
ABCDEFGHIJKLMNOPQRSTUVWXYZ
) - Усі інші символи мають вагу 3 (
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
)
Ваги виглядають так:
. _ | _- * / \ | - * / \ _- * | / \ _- * | / \ / \ | * ------ * / \ | / \ | / \ | * ------ * | ______ | ______
_. / \ * -_ | / \ * - | / \ | * -_ / \ | * -_ * ------ * | / \ | / \ | / \ | / \ | * ------ * ______ | ______
. | ______ | ______ / \ | / \ / \ | / \ / \ | / \ / \ | / \ * ------ * | * ------ * | | ______ | ______
Якщо перший рядок важчий, використовуйте перший малюнок як основу вашого результату; якщо друга струна важча, використовуйте другий малюнок; якщо струни мають рівну вагу, використовуйте третю. Доступний пробіл пробігу дозволений.
Я буду використовувати сегмент третього малюнка як основу для всіх наступних прикладів.
Перший рядок слід розмістити на лівій панелі, а другий рядок - на правій.
Помістіть рядок на сковороді, поміщаючи його некосмічних символи в області 6х5 безпосередньо над рисками, як зазначено на #
с тут (Ви можете закінчити перезапис частини шкали балансу - це добре):
###### _ ###### ###### ###### / ###### \ * ------ *
Усі ці символи повинні бути "осілі", тобто. або над -
символом, або з іншого символу з рядка:
ПРАВИЛЬНО НЕ ПРАВИЛЬНО ____ ____ ____ f / \ / \ / \ л \ / \ / \ / \ / hov \ / s \ / oating \ / eri ng \ / ettled \ * ------ * * ------ * * ------ *
Крім того, весь стек повинен бути максимально рівним, це означає, що з шести 1-ширих стовпців висота найвищої і найкоротша висота не повинні відрізнятися більше ніж на 1:
WRONG WRONG ПРАВИЛЬНО ПРАВИЛЬНО [найвищий: 5] [найвищий: 4] [найвищий: 5] [найвищий: 2] [найкоротший: 0] [найкоротший: 2] [найкоротший: 4] [найкоротший: 2] 5__5_ ____ 5_5__ ____ 45445 & / \ 445454 / \ 45445 $% & $ @ 445454 / \ / 45445 &% @% $ & 445454% & $ @% & / 45445 \ / & $ @ $ &% \ / 445454 \ / $ @ $% $$ \ * ------ * * ------ * * ------ * * ------ *
Точний порядок / розташування символів не має значення. Нижче наведено всі дійсні домовленості для рядка "Зважте свої слова!":
____ ____ ____ ____ / \ / \ / \ / \ дс! \ / owd oe \ u! wd \ ourwor Wihuos yoiwgr eghioo / Важать \ / egyrr! \ / Wrhd! S \ / rrsuwy \ * ------ * * ------ * * ------ * * ------ *
Тестові справи
ВХОД: "CODE GOLF", "кодування виклики" ВАГИ: 32, 32 ПРИКЛАД ВИХІД: . | ______ | ______ / \ | / \ / \ | nge \ s / ОО \ | виклик / СВЯТЛЕНО \ | / кодування \ * ------ * | * ------ * | | ______ | ______
ВХОД: "", "$" ВАГИ: 0, 3 ПРИКЛАД ВИХІД: _. / \ * -_ | / \ * - | / \ | * -_ / \ | * -_ * ------ * | / \ | / \ | / \ | / $ \ | * ------ * ______ | ______
ВХОД: "Ви знаєте, що вони говорять!", "There_always_a_relevant_xkcd" ВАГИ: 75, 65 ПРИКЛАД ВИХІД: . tr_a_s | _hekx_y | - * elcdta _- * | revanw _- * | / e's_al \ Т / \ | * ------ * AUYOHY | A! HWYK | / OTSMEW \ | * ------ * | ______ | ______
+1
. По-перше: якщо пробіли нічого не "важать" і не включаються в твори мистецтва, то навіщо їх взагалі включати? Просто зайві накладні спочатку їх відфільтрувати. По-друге: мені здається, що це "2-в-1" / хамелеон виклик для мене - виклик 1: Визначте, яка струна є "важчішою", Завдання 2: Створіть деяке ASCII-мистецтво.