Excel-like ячейки с формулами sum и проверкой циклов

HardАлгоритмы
10:00
Лучше работает на десктопе
AlgorithmsGraphsOOPDependency Tracking
YouTube00:02:40-00:24:302025 10 04 12 33 39 Seamflow Coding [YouTube ufm6OlT1Ryc]Страница собеса

Реализуйте упрощенный Excel.

Поддерживаются операции:

  • set(cell, value): записать число в ячейку и удалить старую формулу этой ячейки;
  • get(cell): вернуть текущее значение ячейки, пустая ячейка равна 0;
  • sum(cell, refs): записать в ячейку формулу суммы других ячеек и вернуть текущее значение.

Если новая формула создает цикл зависимостей, состояние менять нельзя. Wrapper excel_results должен вернуть строку "cycle" для такой операции.

Сигнатура wrapper

def excel_results(operations: list[list]) -> list:

Примеры

Пример 1

Вход:
self = [["get","A1"],["set","A1",5],["get","A1"]]
Выход:[0,5]

Пример 2

Вход:
self = [["set","A1",2],["set","B1",3],["sum","C1",["A1","B1"]],["get","C1"],["set","A1",10],["get","C1"]]
Выход:[5,5,13]

Пример 3

Вход:
self = [["set","A1",2],["sum","B1",["A1"]],["sum","C1",["A1","B1"]],["get","C1"]]
Выход:[2,4,4]
Консоль
Нажмите Run или Ctrl+Enter для запуска