copaci

Ilie Paduraru isi face testamentul. El are doi baieti si doua fete, iar ca avere un petec de padure. Ilie doreste sa imparta averea astfel incat sa nu nedreptateasca nici un copil. De aceea el a facut o harta dreptunghiulara care reprezinta petecul lui de padure si a marcat cu un cerculet fiecare copac. Harta lui Ilie poate fi reprezentata sub forma unui tablou bidimensional de dimensiuni NxM ca în figura a), fiecare dintre cei P copaci fiind reprezentat printr-un l. Dorinta lui Ilie este sa poata construi garduri care sa poata traversa padurea in diagonala, sub un unghi de 45°, astfel incat fiecare zona delimitata de garduri sa contina acelasi numar de copaci (figurile b) si c)).

Cerinta
a. Determinati extremitatile unui gard care împarte padurea în doua zone care contin acelasi numar de copaci (b))
b. Determinati extremitatile a doua gaduri perpendiculare care împart padurea în patru zone care contin acelasi numar de copaci (c)).

Date de intrare
Fisierul de intrare copaci.in contine pe prima linie 3 numere naturale N M P, separate prin cate un spatiu, reprezentand N - numarul de linii ale tabloului care reprezinta padurea, M - numarul de coloane, iar P - numarul de copaci din padure. Pe fiecare dintre urmatoarele P linii se afla cate doua numere naturale separate printr-un spatiu x y, reprezentand pozitiile celor P copaci (x este indicele liniei, iar y este indicele coloanei). Liniile sunt numerotate de la 1 la N, iar coloanele sunt numerotate de la 1 la M.

Date de iesire
Fisierul de iesire copaci.out va contine doua linii. Pe prima linie vor fi scrise 4 numere naturale separate prin cate un spatiu x1 y1 x2 y2, unde (x1,y1) si (x2,y2) reprezinta extremitatile gardului de la cerinta a.
Pe cea de a doua linie se afla 8 numere naturale separate prin cate un spatiu x3 y3 x4 y4 x5 y5 x6 y6, unde (x3,y3), (x4,y4) reprezinta extremitatile primului gard, iar (x5,y5), (x6,y6) reprezinta extremitatile celui de al doilea gard (perpendicular pe primul), garduri care reprezinta solutia cerintei b.
Pentru fiecare extremitate se specifica in primul rand indicele de linie (x), iar apoi indicele de coloana (y).
Daca la una dintre cerinte nu exista solutie, pe linia corespunzatoare se va scrie doar valoarea -1.

Restrictii

Exemple

copaci.in copaci.out(solutie posibila) copaci.in copaci.out(solutie posibila) copaci.in copaci.out(solutie posibila)

6 8 4
1 1
2 5
5 4
6 8

6 2 1 7
6 2 1 7 1 2 6 7
7 10 4
1 9
2 10
5 9
3 9
1 8 3 10
-1
8 8 4
1 5
3 8
5 2
8 3
1 1 8 8
1 2 7 8 8 2 2 8

Timp maxim de executie/test: 0.5 secunde

prof. Serban Marinel
Liceul de Informatica "Gr. C. Moisil" Iasi
marinel_serban@yahoo.com