|
Электронная таблица
(Время: 1 сек. Память: 16 Мб Сложность: 81%)
Напишите программу, выполняющую функции очень простой электронной таблицы. Она работает с таблицей из 9 строк от 1 до 9 и 26 столбцов от A до Z. Клетки таблицы обозначаются именами, составленными из кодов столбца и строки, например, B1, S8.
Каждая клетка содержит выражение. Выражения используют целые константы, ссылки на клетки, скобки, бинарные операторы +, -, * и / (целочисленное деление). Например, 567, E8/2, (3+B3)*(C4-1) являются правильными выражениями. Все операторы целочисленные. Деление на ноль даёт в результате ноль.
Если значение ячейки, на которую ссылается некоторое выражение, не определено, оно считается равным нулю. Ситуация, когда две или более ячейки зависят друг от друга, является отдельным случаем – циклической ссылкой.
Входные данные
Первая строка входного файла INPUT.TXT содержит число выражений N. Следующие N строк имеют формат <Имя клетки>=<выражение>. Все выражения корректные, и каждая ячейка определена не более чем одним выражением.
Выходные данные
В выходной файл OUTPUT.TXT выведите или значение клетки A1, или число 1000000 (один миллион), если значение клетки A1 не может быть найдено из-за циклической ссылки.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 4
A1=B1+C5
B1=20
C5 =B1 /D7-E1*E1
E1=(3+1)*2 | -44 |
2 | 2 A1=B1 B1=A1 | 1000000 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |