Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2009-06-04 17:53:38.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:1234.in, 1234.outSursăCCEX 2009
AutorRadu VatavuAdăugată deMariusMarius Stroe Marius
Timp execuţie pe test0.5 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

1234

Se dau două numere întregi alcătuite din cifrele {1, 2, 3, 4} asupra cărora efectuaţi operaţii aritmetice simple (+, -). Numerele vor fi furnizate printr-o imagine alb-negru.

Definiţii

O imagine alb-negru este reprezentată într-o matrice, de înălţime h (numărul de linii) şi lăţime w (numărul de coloane), unde fiecare element reprezintă un pixel alb sau negru, după cum valoarea este 1 sau 0.

Un obiect este un grup conectat de pixeli de culoare neagră din imagine. Doi pixeli de coordonate (i1, j1) şi (i2, j2) sunt conectaţi dacă |i1 - i2| + |j1 - j2| = 1 sau |i1 - i2| + |j1 - j2| = 2. Aceste condiţii înseamnă că un pixel are cel mult 8 alţi pixeli vecini.

Veţi dispune de o imagine care are doar 6 tipuri diferite de obiecte: cifrele 1, 2, 3, 4 şi operatorii +, -, care compun expresia ce va trebui evaluată. În figura de mai jos, rezultatul este 46.

O imagine ce conţine o expresie de evaluat. Obiectele sunt
întotdeauna de culoare neagră, iar fundalul de culoare albă.

Cerinţă

Va trebui să calculaţi rezultatul expresiei furnizate prin intermediul unei imagini alb-negru.

Date de intrare

Fişierul de intrare 1234.in conţine pe prima linie, separate printr-un spaţiu, dimensiunile matricei: înâlţimea h şi lăţimea w. Următoarele h linii vor conţine reprezentarea matricei cu exact w caractere pe o linie. Vor fi două tipuri de caractere: 1, reprezentând culoarea alb şi 0 reprezentând culoarea negru. Între caracterele 0/1 nu vor fi spaţii iar fiecare linie are exact w caractere.

Date de ieşire

În fişierul de ieşire 1234.out va conţine un singur număr reprezentând rezultatul expresiei.

Restricţii

  • 1 ≤ h, w ≤ 150
  • Se vor găsi doar două numere, un operator (+, -) şi un semn egal (=).
  • Fiecare număr conţine cel mult 4 cifre iar rezultatul poate fi reprezentat, de asemnenea, cu 4 cifre.
  • Operatorul - este binar, adică nu se vor găsi expresii precum -5+6=.
  • Expresia poate fi oriunde în imagine, dar va reprezenta o singură linie (caractere sunt aliniate).

Exemplu

1234.in1234.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?