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

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


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

Se consideră o matrice cu elemente 0 sau 1, cu L linii (numerotate de la 1 la L) şi C coloane (numerotate de la 1 la C).
Definim o zonă dreptunghiulară ca fiind o submatrice ce are pe contur numai valori 1 şi cu proprietatea că nu există valori de 1 nesituate pe contur şi în acelaşi timp la distanţa 1 faţă de un punct de pe contur. Două puncte sunt la distanţa 1 dacă şi numai dacă sunt vecine pe una dintre cele 8 direcţii.
Interiorul unei zone dreptunghiulare constă din elementele din submatrice nesituate pe contur.
O zonă dreptunghiulară poate fi inclusă complet în interiorul alteia. Definim ordinul unei zone dreptunghiulare ca fiind valoarea d+1, unde d este numărul de zone în interiorul cărora aceasta este inclusă.
Orice element 1 din matrice se află pe conturul unei singure zone dreptunghiulare.
Fig. 1-4 conţin exemple de zone dreptunghiulare. În fig. 5 este o matrice în care se găsesc trei zone dreptunghiulare, dintre care zonele din interior au ordinul 2 iar cealaltă ordinul 1.


Cerinţă

Să se determine numărul total de zone dreptunghiulare din matrice, ordinul maxim al unei zone şi numărul de zone care au acest ordin maxim.

Date de intrare

Fişierul de intrare dreptunghiuri.in conţine pe prima linie numerele naturale L şi C separate printr-un spaţiu. Pe fiecare dintre următoarele L linii din fişier se află câte C numere din mulţimea {0,1}, fiecare număr urmat de câte un spaţiu, reprezentând valorile din matrice.

Date de ieşire

Fişierul de ieşire dreptunghiuri.out va conţine o singură linie pe care vor fi scrise trei numere naturale D, O şi NR, separate prin câte un spaţiu, unde D este numărul total de zone dreptunghiulare din matrice, O este ordinul maxim al unui astfel de zone, iar NR este numărul de zone de ordin maxim.

Restricţii

3 ≤ L, C ≤ 1 000
Datele de intrare sunt corecte. Va exista cel puţin o zonă dreptunghiulară în matrice.

Exemple

dreptunghiuri.indreptunghiuri.outExplicaţii
9 12 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 4 3 1 Sunt în total 4 zone dreptunghiulare, ordinul maxim al uneia dintre ele este 3 (cea formată dintr-un singur 1) şi este o singură astfel de zonă.

autor: Prof. Marius Nicoli
propunător: Prof. Emanuela Cerchez
Liceul de Informatică ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor