Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | 1234.in, 1234.out | Sursă | CCEX 2009 |
Autor | Radu Vatavu | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
1234
Se dau două numere întregi alcătuite din cifrele {1, 2, 3, 4} asupra cărora veţi efectua operaţii aritmetice simple (+, -). Numerele vor fi furnizate printr-o imagine alb-negru.
Definiţii
O imagine alb-negru este reprezentată printr-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 expresiei 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 şi 1 nu vor fi spaţii iar fiecare linie are exact w caractere.
Date de ieşire
Fişierul de ieşire 1234.out va conţine un singur număr reprezentând rezultatul expresiei.
Restricţii
- 1 ≤ h, w ≤ 150
- În fişierul de intrare 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=.
- Caracterele expresiei vor fi aliniate.
Exemplu
1234.in | 1234.out |
---|---|
21 120 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111100001111111111000011111111111111111111111111110001111111111111111000001111111111111111111111111111111111 111111111111111100001111111100000000011111111100001111111111000000001111111111110000001111111111111111111111111111111111 111111111111110000001111111000000000001111111100001111111100000000000111111111110000001111111111111111111111111111111111 111111111111100000001111110000111100001111111100001111111100001110000011111111100000001110000000000000111111111111111111 111111111100000000001111110000111100000111111100001111111111101110000111111111001000001110000000000000111111111111111111 111111111100001000001111111110111100001111111100001111111111111110000111111110011000001110000000000000111111111111111111 111111111100111000001111111111111100001110000000000000011111111100001111111110011000001110000000000000111111111111111111 111111111111111000001111111111111000001110000000000000011111111100011111111100111000001111111111111111111111111111111111 111111111111111000001111111111110000011110000000000000011111111000000111111001111000001111111111111111111111111111111111 111111111111111000001111111111100001111110000000000000011111111111000011110011111000001110000000000000111111111111111111 111111111111111000001111111111000011111111111100001111111111111111000011100000000000000010000000000000111111111111111111 111111111111111000001111111100000111111111111100001111111111111111000001100000000000000010000000000000111111111111111111 111111111111111000001111111000001111111111111100001111111111101111000011100000000000000010000000000000111111111111111111 111111111111111000001111111000000000000111111100001111111100001111000011100000000000000011111111111111111111111111111111 111111111111111000001111110000000000000111111100001111111110000000000111111111111000001111111111111111111111111111111111 111111111111111000001111110000000000000111111111111111111111000000001111111111111000001111111111111111111111111111111111 111111111111111000001111110000000000000111111111111111111111111000111111111111111000001111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | 46 |
Atenţie!
Problema dispune de un soft adiţional care vă va ajuta să generaţi fişiere de intrare. Softul, împreună cu un ghid de utilizare, poate fi descărcat dând click aici.