copaci

Time limit: 0.03s Memory limit: 2MB Input: copaci.in Output: copaci.out

Datorită faptului că deşertul Sahara se extinde tot mai mult în fiecare an, statele lumii au hotărât să reducă acest proces. Chiar mai mult, specialiştii au demonstrat că la câţiva metri sub stratul de nisip se ascund zăcăminte importante de apă şi au hotărât împădurirea acestui deşert.
Pentru simplificare, să considerăm reprezentarea hărţii deşertului ca fiind o matrice cu nn linii şi mm coloane. În fiecare element al matricei poate exista un singur copac.
Se mai ştie că datorită condiţiilor climaterice extreme un copac nou plantat nu ar rezista decât dacă ar fi învecinat cu cel puţin alţi doi copaci existenţi. Deci, în procesul de împădurire, în fiecare zi se plantează copaci care pot rezista.

Cerinţă

Scrieţi un program care să determine dacă deşertul poate fi complet împădurit sau nu. În caz afirmativ se cere numărul minim de zile în care se poate realiza împădurirea, altfel se cere numărul minim de zile după care se opreşte împădurirea, urmat pe linia următoare de mesajul IMPOSIBIL.

Date de intrare

Datele se citesc din fişierul de intrare copaci.in care are următoarea structură:

  • pe prima linie sunt scrise două numere naturale nn şi mm, separate printr-un spaţiu, reprezentând numărul de linii, respectiv numărul de coloane ale matricei;
  • pe fiecare dintre următoarele nn linii sunt scrise câte mm numere naturale separate prin spaţii; al jj-lea element de pe linia (i+1)(i+1) este 00 dacă poziţia de pe linia ii şi coloana jj de pe hartă este neocupată sau este 11 dacă poziţia respectivă este ocupată de un copac.

Date de ieșire

Rezultatul va fi afişat în fişierul de ieşire copaci.out.
Dacă împădurirea poate avea loc, fişierul de ieşire conţine o singură linie pe care se află numărul minim de zile în care se poate realiza împădurirea.
Dacă împădurirea nu poate avea loc, atunci fişierul de ieşire conţine două linii. Pe prima linie va fi afişat numărul minim de zile după care se opreşte împădurirea, iar pe cea de a doua linie va fi afişat cu litere mari cuvântul IMPOSIBIL.

Restricții și precizări

  • 1n,m1001 \leq n, m \leq 100
  • În fiecare căsuţă a matricei poate exista doar un singur copac.
  • Două poziţii se numesc vecine dacă ele sunt învecinate pe orizontală sau pe verticală.

Exemplul 1

copaci.in

5 6
1 0 1 0 1 1
1 0 0 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0

copaci.out

9

Exemplul 2

copaci.in

3 3
1 0 0
0 0 0
1 0 0

copaci.out

1
IMPOSIBIL

Log in or sign up to be able to send submissions!