Enunțul problemei figura, de clasa a 6-a, dată în 2010 la ONI, se găsește pe .campion.

Rezumat figura

Avem o foaie de matematică cu d linii și d coloane. Pătrățelele foii au latura de 1 cm. Din aceasta se decupează o figură compactă (fără găuri) formată din n pătrățele, ale căror coordonate se citesc din fișierul de intrare. Trebuie să determinăm perimetrul figurii decupate.

Problema figura – Foaia de matematică

Soluție figura

Problema este destul de simplă. Vom considera că pătrățelele din figură sunt gri, iar restul albe.

Perimetrul figurii este format doar din segmentele de pe margine. Observăm că fiecare dintre acestea face parte dintr-un singur pătrățel gri. Așadar, NU vom lua în considerare segmentele ce fac parte din mai multe pătrățele gri. Cum le numărăm? Pentru fiecare pătrățel gri adunăm numărul de vecini gri ai săi. Notăm această sumă cu sum. Pentru a afla rezultatul problemei, scădem pe sum din numărul total al laturilor pătrățelelor gri (4 * n).

Având în vedere că este posibil să accesăm vecinii pătrățelelor de pe marginile matricei, în cazul în care aceasta are dimensiunea maximă, trebuie să bordăm matricea de la început cu false. Pentru asta e de ajuns să îi setăm dimensiunea maximă la 22.

Sursă C++ figura

Dacă ai vreo nedumerire cu privire la problema figura, lasă un comentariu și te voi ajuta 🙂

Îți place conținutul acestui site?

Dacă vrei să mă susții în întreținerea server-ului și în a scrie mai multe articole de calitate pe acest blog, mă poți ajuta printr-o mică donație. Află aici cum o poți face!