У аркадній версії гри Pac-Man їсть pac-крапки. Однак у цьому виклику він прагне буквено-цифрових символів та пунктуації в рядку.
Ваше завдання - створити функцію, яка подає Pac-Man рядку, оцінює, може він її їсти чи ні, і повертає рядок із розташуванням у ній Pac-Man.
Pac-Man ( <
) їсть символів зліва направо, залишаючи підкреслення або пробіл для кожного персонажа, коли він йде, і його мета - дістатися з першої позиції-1 до останньої позиції + 1:
1. <Pac
2. _<ac
3. __<c
4. ___<
Однак природний ворог Пак-Мана, привид, зупинить його, якщо він зустріне одну з букв у слові "GHOST" (не з урахуванням регістру). Ваша функція повинна повертати рядок із розташуванням Pac-Man, коли він стикається з ghost
персонажем:
1. <No!
2. _<o!
Єдине, що може перемогти привид - це силова гранула. Якщо Pac-Man досягне букви у слові "PELLET" (також не чутливий до регістру) перед тим, як прийти до привида, він з'їсть привид і продовжить рух, і цей гранул буде використаний. Силові гранули можуть укладатися (тобто в ppgg
обох привидів їдять). Символ T існує як привид, так і гранул, тому його можна ігнорувати (трактувати як будь-який інший лист, як a
).
1. <Pop
2. _<op
3. __<p
4. ___<
Для подальшого уточнення в рядку "Pac-Man програє тут" відбуваються такі операції:
P <P, +1 Pellet (1 pellet)
a <a
c <c
- <-
M <M
a <a
n <n
<[space]
l <l, +1 Pellet (2 pellets)
o <o, -1 Pellet (1 pellet)
s <s, -1 Pellet (0 pellets)
e <e, +1 Pellet (1 pellet)
s <s, -1 Pellet (0 pellets)
<[space]
h <h, ghost wins, returns
e
r
e
Приклади
Input: Pacman wins!
Output: ____________<
Input: Pacman loses wah-wah :(
Output: _______________<h-wah :(
Input: PELLET PELLET GHOST
Output: ___________________<
Input: Hello World!
Output: <Hello World!
Input: <_!@12<_<_<
Output: ___________<
Це код-гольф - найнижчий бал у виграші байтів.
<
символ ...