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| ≤ 1 şi |j1 - j2| ≤ 1. 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. Programul va putea fi utilizat doar în Windows şi necesită .NET. Dacă nu aveţi .NET instalat îl puteţi descărca de la acest link.