Cerință
Alinutza și-a propus să-i verifice cunoștințele de geometrie ale prietenei ei Maria. Într-un tablou bidimensional cu linii, coloane a desenat mai multe forme geometrice și anume: triunghi, pătrat, dreptunghi, romb. Formele geometrice sunt umplute cu iar spațiile libere cu . Maria a fost pusă serios în dificultate și vă roagă pe voi să o ajutați să identifice câte triunghiuri, pătrate, dreptunghiuri, romburi a desenat Alinuzta.
Date de intrare
Fișierul figuri.in conține pe prima linie două numere naturale respectiv .
Următoarele linii conțin fiecare câte valori sau separate printr-un spațiu reprezentând formele geometrice desenate de Alinutza.
Date de ieșire
Fișierul figuri.out conține exact linii, pe fiecare aflându-se exact un număr reprezentând, în această ordine, numărul de triunghiuri, pătrate, dreptunghiuri respectiv romburi.
Restricții și precizări
- Dacă forma geometrică lipsește din fișierul de intrare valoarea corespunzătoare în fișierul de ieșire va fi .
- Figurile nu au niciun punct comun.
- Nu există valori de vecine pe linie, coloană sau diagonale și care să aparțină la figuri diferite.
- Figurile nu au niciuna dintre laturi formată dintr-o singură valoare .
- În general, două elemente de indici și vecine de pe aceeași latură a aceleiași figuri respectă una dintre relațiile: și fie și , fie și .
- Pătratele și dreptunghiurile au laturile paralele cu marginile tabloului bidimensional.
- Triunghiurile sunt isoscele sau dreptunghice isoscele.
- Pentru teste în valoare de 15 puncte apar doar triunghiuri.
- Pentru teste în valoare de 11 puncte apar doar pătrate.
- Pentru teste în valoare de 11 puncte apar doar dreptunghiuri.
- Pentru teste în valoare de 13 puncte apar doar romburi.
Exemplul 1
figuri.in
4 5
1 1 1 0 0
1 1 0 0 0
1 0 0 1 1
0 0 0 1 1
figuri.out
1100
Explicație
Există doar două figuri: un triunghi și un pătrat.
Explicații suplimentare
Romb
0 0 1 0 0 0 0
0 1 1 1 0 0 0
1 1 1 1 1 0 0
0 1 1 1 0 0 0
0 0 1 0 0 0 0
Dreptunghi
0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 0
0 1 1 1 1 0 0 0
0 1 1 1 1 0 0 0
Pătrat
0 0 0 0 0 0 0
0 1 1 1 1 0 0
0 1 1 1 1 0 0
0 1 1 1 1 0 0
0 1 1 1 1 0 0
În această figură sunt 5 triunghiuri
1 0 0 0 0 1 0 0 0 0
1 1 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 1 1
0 1 0 0 1 1 0 0 1 1
0 0 0 0 0 1 0 0 0 1
Exemple de date de intrare incorecte
0 0 0 1 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1 0
0 1 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 0 0 0
0 0 0 0 0 0 0
0 1 1 1 1 0 0
0 1 0 1 1 0 0
0 1 1 1 1 0 0
0 1 1 1 1 0 0
1 0 0 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 1 1 0
0 0 1 0 0 0
0 1 1 1 0 0
0 0 1 1 1 0
0 0 0 1 0 0