Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решаю задачу от яндекса(вступительную), все нормально, только не получается пройти один тест...

Патимат Захарова Ученик (218), на голосовании 15 часов назад
Условия задачи такие:
Только что вышло продолжение игры «Hogwarts Legacy». В ней, играя за главного героя, вы должны бороться с монстрами и злыми волшебниками. Во второй версии добавили новый механизм ограничения ресурсов: у игрока может быть несколько единиц энергии, которые он может тратить на заклинания и затем восполнять. Изначально у игрока
0 единиц энергии.

Любое заклинание стоит 1 единицу энергии. Ограничения сверху на число единиц энергии у игрока нет, но оно не может быть меньше нуля. Чтобы пополнять единицы энергии, надо пить сливочное пиво. Каждая кружка сливочного пива добавляет фиксированное число единиц энергии b
.

Вам дан журнал игры с действиями четырех видов:

cast – наложить заклинание. Гарантируется, что на этот момент есть хотя бы одна единица энергии

drink – выпить кружку целебного сливочного пива

save – сохранить игру

load – загрузить последнее сохранение. Если до этого не было ни одного сохранения, то игра откатывается на начальное состояние.

После каждого действия выведите, сколько единиц энергии осталось у игрока.

Пример входных данных:
8 4
drink
save
cast
cast
drink
save
cast
load

Выходные данные
4
4
3
2
6
6
5
6


и вот мой код: https://pastebin.com/TQnpax1g
Голосование за лучший ответ
Алексей Пинчук Мудрец (16424) 1 месяц назад
Логика программы не соответствует заданию. Например, вообще нет значения сохранённой энергии, зачем-то введены ограничения сверху на параметры, при загрузке сохранения энергия почему-то просто увеличивается на 1. Вот корректный вариант:
 n, b = map(int, input().split()) 
energy = 0
saved_energy = -1
for _ in range(n):
x = input()
if x == 'cast':
energy -= 1
elif x == 'drink':
energy += b
elif x == 'save':
saved_energy = energy
elif x == 'load':
if saved_energy == -1:
energy = 0
else:
energy = saved_energy
print(energy)
Похожие вопросы