.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » copaci1

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
copaci1


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

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 n linii şi m 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 copaci1.in care are următoarea structură:
- pe prima linie sunt scrise două numere naturale n şi m, separate printr-un spaţiu, reprezentând numărul de linii, respectiv numărul de coloane ale matricei;
- pe fiecare dintre următoarele n linii sunt scrise câte m numere naturale separate prin spaţii; al j-lea element de pe linia (i+1) este 0 dacă poziţia de pe linia i şi coloana j de pe hartă este neocupată sau este 1 dacă poziţia respectivă este ocupată de un copac.

Date de ieşire

Rezultatul va fi afişat în fişierul de ieşire copaci1.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

1 <= n, m <= 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ă.

Exemple

copaci1.incopaci1.out
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 9
3 3 1 0 0 0 0 0 1 0 0 1 IMPOSIBIL

autor: Prof. Lucia Miron
propunător: Prof. Marinel Şerban
Liceul de Informatica
marinel.serban@gmail.com
Probleme recomandate
De la OMI Iaşi 2003: desert, ogorul, echitabil
De acelaşi autor: cuburi3, banda1, matrice4, fazanr, expozitie, teme, macheta, becuri2, proiecte, xyz, dineu, bete1, onigim, doitrei, cristal, prajituri, cript, nuclee
Despre structura repetitiva: cifre1, super, schimb, jeton, descfib, taxe, romane, mobile, cuburi3, tzigla, morse, powerpuff, multimi, ucif, tabel, ocr, numere7, cifre2, piramida, vraji, reforma, cartonas, cabina, case, desen2, exponent, cifre3, concurs3, joc13, reactivi, vanatoare, submult, paranteze, tort, ogorul, puncte3, efort, muzeu, smith, biliard, palc, prod3, fazanr, cadouri, bursa, meteo, prodmax, zar, tren4, lego, maraton1, cluburi, domino1, jump, alo, cifra1, case1, brazi, greiere, divizori, pitag, porumb, secv9, divk, rachete, pin, sumacifre, aritm, psp, triplu, triunghi3, cmmdcsecv, ssmax, ape, furnici1, domino2, acoperire1, ore, pegals, b2k, sumdivprod, subsecvmax, dale, bancomat, sume4, alice, porumb1, albine2, culegere, stele1, medalion, cifreco, meteo1, unupatru, xyz, vistiernic, chibrituri, bete1, greieri, interviu, prieten, prize, conturi, numere12, martisoare, piramide, pagini, punctul, tablita, pavare1, ordine, covor1, speciale, echer, numere13
Despre structura alternativa: cuburi3, multimi, ucif, tabel, ocr, numere7, cabina, exponent, cifre3, concurs3, joc13, reactivi, vanatoare, submult, visul, paranteze, ogorul, muzeu, timer, triunghi1, piatra, greiere, numerus, ape, domino2, ore, pegals, alun, chibrituri, interviu
Despre tablou: cuburi1, zuzu, robinson, cuburi2, joc8, joc9, suma2, vizibil, masina3, cub2, lacusta, furnica, numere8, ogorul, pesti, stelar, macheta, mxl, segmente, joc19, triunghi4, parc1, interclasare, rascoala, cifre5, monede2, betisoare, qvect, traseu3
surse trimise | ajutor