figuri

Time limit: 0.1s Memory limit: 64MB Input: figuri.in Output: figuri.out

Cerință

Alinutza și-a propus să-i verifice cunoștințele de geometrie ale prietenei ei Maria. Într-un tablou bidimensional cu nn linii, mm coloane a desenat mai multe forme geometrice și anume: triunghi, pătrat, dreptunghi, romb. Formele geometrice sunt umplute cu 11 iar spațiile libere cu 00. 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 nn respectiv mm.
Următoarele nn linii conțin fiecare câte mm valori 00 sau 11 separate printr-un spațiu reprezentând formele geometrice desenate de Alinutza.

Date de ieșire

Fișierul figuri.out conține exact 44 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

  • 3n1003 \leq n \leq 100
  • 3m1003 \leq m \leq 100
  • Dacă forma geometrică lipsește din fișierul de intrare valoarea corespunzătoare în fișierul de ieșire va fi 00.
  • Figurile nu au niciun punct comun.
  • Nu există valori de 11 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 11.
  • În general, două elemente de indici (i1, j1)(i1,\ j1) și (i2, j2)(i2,\ j2) vecine de pe aceeași latură a aceleiași figuri respectă una dintre relațiile: i1=i2i1=i2 și j1j2=1|j1-j2|=1 fie i1i2=1|i1-i2|=1 și j1=j2j1=j2, fie i1i2=1|i1-i2|=1 și j1j2=1|j1-j2|=1.
  • 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

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