Санта потребує допомоги, щоб визначити, скільки ельфів йому знадобиться, щоб допомогти йому доставити подарунки до кожного будинку.
Вугілля значно важче, ніж подарунки, тож Санта потребує трьох ельфів для кожної неслухняної людини в будинку. Тільки два ельфи потрібні, щоб допомогти Санта переносити подарунки.
На карті Санта будинок представлений символом a *, а кожен будинок розділений символом a +.
Буде номер з обох боків будинку - той, що ліворуч представляє кількість неслухняних людей у будинку, і той, що праворуч представляє кількість приємних людей у будинку. Якщо на одній стороні немає числа, це інтерпретується як 0.
Санта не відвідує тих, хто не в дусі Різдва (вони навіть не заслуговують вугілля), тому іноді будинок може не мати номера по обидва боки. У цьому випадку Санта не потребує допомоги жодних ельфів
Наприклад, одна з карт Санти може виглядати так
1*3+2*2+1*+*2
У першому будинку є 1 пустотливий і 3 приємні, Санта знадобиться дев’ять ельфів. У другій - 2 пустотливих і 2 приємних, Санта знадобиться десять ельфів. У третьому будинку 1 неслухняний і 0 приємний, Санта знадобиться три ельфи, а в останньому будинку 0 неслухняних і 2 приємні, Санта знадобиться чотири ельфи.
Це, однак, надто спрощена версія однієї з карт Санти. Зазвичай карти Санти мають кілька ліній і мають квадратну форму, щоб краще вписатись у його список. Звичайна карта може виглядати приблизно так (в \nкінці кожного рядка)
1*2+*+*4+1*
2*4+3*+1*6+*
*+*+4*2+1*1
*4+*3+1*+2*3
3*10+2*+*5+*
На цій карті санта потребує ((1 + 0 + 0 + 1 + 2 + 3 + 1 + 0 + 0 + 0 + 4 + 1 + 0 + 0 + 1 + 2 + 3 + 2 + 0 + 0) * 3) + ((2 + 0 + 4 + 0 + 4 + 0 + 6 + 0 + 0 + 0 + 2 + 1 + 4 + 3 + 0 + 3 + 10 + 0 + 5 + 0) * 2)= 151 ельфів
Виклик
Допоможіть Санта визначити, скільки ельфів йому потрібно, щоб доставити товари до кожного будинку!
Будинки
- Будинок представлений а
* - Будинки розділені на
+ - Цифра зліва від будинку символізує кількість неслухняних людей (число не означає 0)
- Цифра справа символізує кількість приємних людей (жодне число не означає 0)
- У
\nвводі можуть бути нові рядки ( ), які також слід обробляти як розділення
Ельфи
- Санта потребує допомоги трьох ельфів для неслухняних людей (вугілля набагато важче, ніж подарунки)
- Санта потребує допомоги двох ельфів для приємних людей
- Якщо немає обох боків, Санта не відвідуватиме цей будинок, і для цього не потрібні ельфи
Що робити
Роздрукуйте кількість ельфів Санта, щоб допомогти йому доставити подарунки до будинків. Оскільки Санта повинен знати, скільки ельфів принести, вам потрібно лише роздрукувати додану кількість ельфів, необхідних йому для переліку будинків
Випробування
1*1 => 5
1*2 => 7
2*1 => 8
1* => 3
*1 => 2
* => 0
1*1+1*1 => 10
1*2+2*1 => 15
1*+*1 => 5
1*1+*+1*1 => 10
*+*+*+* => 0
Правила
- Вхід може бути взято як аргумент у функції, або з STDIN або еквівалент
- Вихід може бути або зворотним значенням функції, або надрукований на STDOUT або еквівалент
- Вхід буде містити тільки цифри,
+,*, і новий рядок\n - Вихід повинен бути лише загальною кількістю ельфів, яким Санта потребує допомоги, щоб доставити на Різдво
- Застосовуються стандартні лазівки
Оцінка балів
Сани Санта переповнені подарунками, що дають йому менше місця для запуску коду, тому йому потрібен найкоротший код, який він може отримати (не хвилюйтесь, якщо це не має сенсу. Якщо ви ставите під сумнів логіку Санти, ви опинитесь у неслухняному списку ). Завдяки правильному міркуванню Санта виграє найкоротше подання в байтах!
Таблиця лідерів
Це фрагмент стека, який генерує як таблицю лідерів, так і огляд переможців за мовою.
Щоб відповідь з’явилася, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown
## Language Name, N bytes
Де N - розмір поданих вами даних у байтах
Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, пробивання старих балів чи включення прапорів у кількість байтів), просто переконайтесь, що фактичний бал є останнім номером у вашому заголовку
## Language Name, <s>K</s> X + 2 = N bytes
hello-world.c. Робочі ельфи охоче розподіляються за цілями, як сказав Джоддмо (я впевнений, що я знаю, що Джоджо, він повинен бути нашою системою), а потім використовують зворотний дзвінок, щоб повідомити, коли прийшов час перевстановитись у санний басейн або коли дитина їх побачила.
max(naughty) + max(nice)ельфів за весь маршрут? Я думав, що у нього летить купа ельфів, але, можливо, у вас є інсайдерська інформація про це, і мені потрібно придивитись уважніше цього року. :)