ConcursC++17

joc

Georgel şi Ionel au inventat un joc. Georgel scrie în fiecare pătrăţel pe o foaie de matematică, de forma unui tablou bidimensional cu nn linii şi mm coloane, valori de 00 sau 11. Ionel stabileşte 33 forme distincte pe care Georgel trebuie să le identifice pe foaia de matematică în poziţia dată sau rotite ca în figura 1, 2 sau 3. Cele trei forme propuse sunt:
Figura 1 din enunțul original al problemei joc.Figura 1 din enunțul original al problemei joc.Mărește schema ↗
Pentru un joc, Georgel trebuie să le identifice pe foaie sub forma de pătrăţele pline cu 11.

Cerinţă

Scrieţi un program care să identifice numărul de apariţii pentru toate formele precizate.

Date de intrare

Fişierul de intrare joc.in conţine pe prima linie valorile lui nn şi mm separate printr-un spaţiu, pe următoarele nn linii fiind valorile din pătrăţelele de pe foaie (neseparate prin spaţii).

Date de ieşire

Fişierul de ieşire joc.out va conţine pe prima linie numărul total de forme identificate, de oricare din cele trei tipuri.

Restricţii şi precizări

  • 0<m,n<1000 \lt m, n \lt 100
  • Un pătrăţel se poate regăsi în una sau mai multe forme.

Exemplu

joc.in

5 5
00100
00110
01111
00100
00100

joc.out

7

Explicaţie

Există 22 forme de primul tip, 33 forme de tipul al doilea şi 22 de al treilea tip, ca în desen.
Figura 2 din enunțul original al problemei joc.Figura 2 din enunțul original al problemei joc.Mărește schema ↗

Sursă și autori

ONI 2011, clasele 7. Roxana Tîmplaru.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑