Rezolvare PBinfo #2343

Decorative Icon Problema: bec / 2343

Decorative IconAutor: Deivid

Enunț

Într-o pădure sunt plantați N*M copaci, pe N rânduri şi M coloane, fiecare copac aflându-se la egală distanţă de copacii vecini. Întrucât în pădure este cam întuneric, pădurarul (care supraveghează pădurea) montează K becuri (câte un bec într-un copac). Aceste becuri au consum diferit de energie electrică. Fiecare bec luminează doar o parte dintre copaci. Un copac este luminat de un bec dacă, trasând o linie dreaptă de la el la bec, niciun alt copac sau bec nu se află pe acea linie.
Energia electrică fiind scumpă, pădurarul va trebui să renunţe la K-1 becuri şi să păstreze doar becul care luminează numărul maxim C de copaci. Dacă mai multe becuri dintre cele K luminează C copaci, pădurarul îl va păstra pe cel mai util adică care are cel mai mic consum de energie electrică.


poza_bec
quick image uploader

Cerința

Să se scrie un program care să determine:
1. numărul maxim X de copaci ce pot fi luminați de unul dintre cele K becuri
2. poziția (rândul R şi coloana C) becului cel mai util păstrat de pădurar.

Date de intrare

Fișierul de intrare bec.in conține:

  • pe prima linie, patru numere naturale P N M K, separate prin câte un spaţiu, reprezentând: cerința P ce trebuie rezolvată (1 sau 2), numărul N de rânduri, numărul M de coloane, şi numărul K de becuri
  • pe fiecare din următoarele K linii, câte trei numere naturale A B C, separate prin câte un spaţiu, reprezentând rândul A şi coloana B în care se află fiecare bec şi consumul C de energie electrică a acestuia.

Date de ieșire

Dacă P=1, atunci fișierul de ieșire bec.out va conține pe prima linie numărul X ( răspunsul la cerința 1). Altfel, dacă P=2, atunci fişierul de ieşire bec.out va conţine pe prima linie cele două numere naturale R C (răspunsul la cerința 2) separate prin câte un spațiu, cu semnificația din enunț.

Restricții și precizări
  • 2 ≤ N ≤ 150; 2 ≤ M ≤ 150
  • 1 ≤ K ≤ N; 1 ≤ K ≤ M; 1 ≤ K ≤ 100
  • 1 ≤ A ≤ N; 1 ≤ B ≤ M; 1 ≤ C ≤ 10000 pentru fiecare bec
  • nu există două becuri asezate pe același rând și aceeași coloanâ
  • nu există două becuri cu același consum de energie electrică
  • se acordă 50% din punctaj pentru rezolvarea corectă a cerinței 1 și 50% din punctaj pentru rezolvarea corectă a cerinței 2.
Exemplul 1:

bec.in

1 5 4 3
2 3 80
4 2 100
4 3 70

bec.out

14 

Explicație

P=1 . Se rezolvă cerința 1.
Numerotăm copacii ca în tabloul alăturat. Primul bec, situat în rândul 2 şi coloana 3 (consum energie 80) luminează 14 copaci (nu îi luminează pe cei numerotați cu 5, 12 şi 16).
Al doilea bec, situat în rândul 4 şi coloana 2 (consum energie 100) luminează 13 copaci (nu îi luminează pe cei numerotați cu 2, 6, 7 şi 13).
Al treilea bec, situat în rândul 4 şi coloana 3 (consum energie 70) luminează 14 copaci (nu le luminează pe cei numerotați cu 3, 5 şi 12).

Exemplul 2:

bec.in

2 5 4 3
2 3 80
4 2 100
4 3 70

bec.out

4 3 

Explicație

P=2. Se rezolvă cerința 2.
Becurile ce luminează numărul maxim de copaci (X=14) sunt: 1 (consum de energie 80) și 3 (consum de energie 70). Becul 3 are consumul de energie mai mic decât cel al primului bec (70<80) și se află în rândul R=4 şi coloana C=3

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate