## CCC '04 S3 - Spreadsheet

View as PDF##### Canadian Computing Competition: 2004 Stage 1, Senior #3

A spreadsheet consists of a number of "cells" set in a rectangular grid. Each is addressed with one letter from to (giving the row) and one number from to (giving the column). Thus the upper-left cell of the spreadsheet is , and the lower-right cell is .

Every cell has a value, and this can be specified in one of two ways:

- as an integer from to 1000
- as a sum of the values of up to 10 other cells

Cell values may be interdependent (that is, 's sum may depend on which depends on ), but a cell whose value depends on itself, directly or indirectly, is undefined (e.g., depending on depending on ). Also, a cell whose value depends on an undefined cell is itself undefined. You are given the specification for all the cells in the spreadsheet. Compute and output the values of all of the cells.

#### Input Specification

Input will consist of lines, one per spreadsheet row. Each line contains 9 descriptions of a cell, which will be either an integer between and , or a sum of to distinct cell names separated by a `+`

symbol (e.g. `A1+B5+D3`

).

#### Output Specification

Output lines, with numbers per line, giving the value of every cell in the
spreadsheet; if the cell is undefined, print an asterisk (`*`

) in place of its value.
No cell's final value will exceed .

#### Sample Input

```
1 2 3 A1+A2+A3 A3+A4 A1+A4+A5 A8+A9 A9 A8
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
```

#### Sample Output

```
1 2 3 6 9 16 * * *
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
```

## Comments

The sample input has one line too many of zeros and the output as one line too few of zeros

The sample I/O has been fixed. Thanks!