Spreadsheet
Time Limit: 1 Second Memory Limit: 32768 KB
You are to write a program emulating a very simple spreadsheet application. It works with a table with 9 rows, from "1" to "9", and 26 columns, from "A" to "Z". Table cells are referenced by names composed of column and row codes, ex. "B1", "S8".Each cell contains an expression up to 255 characters long. Expressions use integer constants, cell references, parenthesis, operators "+", "-", "*", and "/" (whole division). For example: 567, E8/2, (3+B3)*(C4-1) are all valid expressions. All operators are whole, all arguments and results are guaranteed to be less than 1000000. Division by zero yields zero.
If the value of the cell referenced by some expression is not defined, it is presumed to be 0 (zero). The situation when two or more cells are mutually dependent on each other is considered a special case of "circular reference".
Input
First input line contains number of expressions N. Following N lines are in
format
Process to the end of file.
Output
Output file must contain single line with either the value of the cell "A1" or number 1000000 (one million) if the value of A1 cannot be computed due to a circular reference.
Sample Input
4 A1=B1+C5 B1=20 C5 =B1 /D7-E1*E1 E1=(3+1)*2
Sample Output
-44Submit
Source: Northeastern Europe 2000, Far-Eastern Subregion