Задача №694. Электронная таблица
Напишите программу, выполняющую функции очень простой электронной таблицы. Она работает с таблицей из 9 строк от 1
до 9
и 26 столбцов от A
до Z
. Клетки таблицы обозначаются именами, составленными из кодов столбца и строки, например, B1
, S8
.
Каждая клетка содержит выражение. Выражения используют целые константы, ссылки на клетки, скобки, бинарные операторы +
, -
, *
и /
(целочисленное деление). Например, 567
, E8/2
, (3+B3)*(C4-1)
являются правильными выражениями. Все операторы целочисленные. Деление на ноль даёт в результате ноль.
Если значение ячейки, на которую ссылается некоторое выражение, не определено, оно считается равным нулю. Ситуация, когда две или более ячейки зависят друг от друга, является отдельным случаем - циклической ссылкой.
Ограничения: длина выражения в одной ячейке до 255 символов, все аргументы и результаты меньше 1 000 000.
Первая строка содержит число выражений N. Следующие N строк имеют формат <Имя клетки>=<выражение>. Все выражения корректные, и каждая ячейка определена не более чем одним выражением.
В единственной строке выводится или значение клетки A1
, или число 1000000
(один миллион), если значение клетки A1
не может быть найдено из-за циклической ссылки.
1 A1=2*2
4
1 A1 = 7*2-5/(2+1)
13