Cerință
Avem o foaie de calcul, asemănătoare cu un excel și dorim să aflăm valorile din toate celulele sale.
Foaia de calcul este sub formă de matrice, cu linii și coloane, numerotate de la la .
La intrare, pentru unele celule se specifică direct valoarea (un număr natural) sau o formulă. Formula poate reprezenta fie suma fie produsul a doi termeni. Cei doi termeni pot fi valori naturale constante sau numele unor celule.
Date de intrare
Pe prima linie a fișierului de intrare calctab.in
se află un număr natural reprezentând dimensiunea foii de calcul pătratice.
Pe fiecare dintre următoarele linii, se află câte șiruri, separate prin câte un spațiu, reprezentând, în ordine, informații despre celulele de pe linia respectivă.
Dacă valoarea este un singur număr natural, atunci ea reprezintă chiar valoarea celulei. Pentru celulele la care sunt indicate formule șirul este de tipul X+Y
sau X*Y
(fără alte spații în interior).
Valoarea poate fi doar un identificator de celulă, iar valoarea poate fi un număr natural sau un identificator de celulă. Identificatorul de celulă are cifre, prima este L
, urmată de două cifre indicând numărul liniei, apoi C
urmat de două cifre indicând numărul coloanei (pentru liniile și coloanele de la de la la codurile se scriu sub forma ).
Date de ieșire
Fișierul de ieșire calctab.out
va conține valorile numerice ale matricei, în ordine, câte pe linie, separate prin câte un spațiu. Dacă matricea nu se poate calcula în întregime, în locul valorilor ce nu se pot calcula se va scrie -1
.
Restricții și precizări
- ;
- toate valorile din matrice, atât cele date cât și cele calculate au maxim cifre și sunt pozitive;
- se garantează că formatul datelor de intrare este corect, așa cum a fost descris;
- pentru teste în valoare de de puncte, în fișierul de intrare nu sunt formule cu înmulțiri.
Exemplul 1
calctab.in
2
2 L01C01+3
L01C01+L01C02 11
calctab.out
2 5
7 11
Exemplul 2
calctab.in
2
2 L02C01+L02C02
L01C02+L02C02 L01C02+L02C01
calctab.out
2 -1
-1 -1