Detalii evaluare #64754674

Rezumat problemă

#4968

În grădina palatului de vară, maestrul grădinar Andrei caută locul perfect pentru amplasarea unui bonsai prezidențial. Grădina palatului este formată din mai multe parcele, dispuse pe N linii și M coloane. Deoarece grădina palatului este frecventată de turiști, fiecărei parcele îi este asociat un număr natural, reprezentând importanța parcelei respective.

Bonsaiul prezidențial poate fi plantat doar sub forma unei cruci simetrice (un centru și 4 brațe egale pe direcțiile Nord, Sud, Est, Vest), care nu conține valori nule (parcele cu importanța 0) și are număr maxim de parcele pe care se poate amplasa un bonsai. Un bonsai este definit de centrul său (i, j) și de raza maximă posibilă R, cu care se poate extinde pe toate cele 4 direcții (numărul de parcele al unui braț, fără a număra centrul). Un bonsai cu R=0 ocupă o singură parcelă (centrul), iar un bonsai cu R=1 ocupă centrul și cei 4 vecini: (i - 1, j), (i + 1, j), (i, j - 1), (i, j + 1). Andrei are trei criterii diferite de alegere, în funcție de cerința președintelui:

  • Criteriul simplitate: Președintele își dorește un bonsai simplu de rază R = 0, astfel Andrei trebuie să caute toate locurile posibile în care se poate amplasa un bonsai de rază R = 0.
  • Criteriul măreție: Președintele își dorește cel mai extins bonsai posibil, astfel Andrei este nevoit să caute raza maximă Rmax pe care o poate avea un bonsai în grădină.
  • Criteriul vizibilitate: Președintele își dorește cea mai mare vizibilitate turistică pentru bonsaiul său, astfel Andrei este nevoit să caute locul în care, dacă ar planta bonsaiul, acesta ar avea importanță maximă. Importanța unui loc în care bonsaiul poate fi plantat este reprezentată de suma importanței parcelelor pe care le acoperă.

Cerința

Se dau C, reprezentând cerința care trebuie rezolvată (C = 1, C = 2 sau C = 3), N, M, dimensiunile grădinii și N x M valori naturale, reprezentând importanța fiecărei parcele.

  • Dacă C = 1, ajutați-l pe Andrei să determine în câte locuri posibile din grădină ar putea planta un bonsai de rază R = 0.
  • Dacă C = 2, ajutați-l pe Andrei să determine raza maximă Rmax a unui bonsai care poate fi plantat în grădină.
  • Dacă C = 3, ajutați-l pe Andrei să determine locul cu importanța maximă în care poate planta bonsaiul, precum și coordonatele (i, j) ale centrului acestuia. Dacă există mai multe locuri cu aceeași importanță maximă, se va alege cel cu raza R cea mai mare. Dacă există mai multe astfel de locuri cu importanța egală și cu aceeași rază R, se va alege locul cu i minim, iar în caz de egalitate, cel cu j minim.

Detalii

Problema bonsai Operații I/O bonsai.in/bonsai.out
Limita timp 0.2 secunde Limita memorie Total: 32 MB / Stivă 8 MB
Id soluție #64754674 Utilizator Pupe Maria (pnarcisa)
Fișier bonsai.cpp Dimensiune 282 B
Data încărcării 28 Mai 2026, 08:06 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

bonsai.cpp: In function ‘int main()’:
bonsai.cpp:5:8: error: ‘cin’ was not declared in this scope; did you mean ‘std::cin’?
    5 |    std:cin>>n;
      |        ^~~
      |        std::cin
In file included from bonsai.cpp:1:
/usr/include/c++/13/iostream:62:18: note: ‘std::cin’ declared here
   62 |   extern istream cin;           ///< Linked to standard input
      |                  ^~~
bonsai.cpp:9:10: warning: statement has no effect [-Wunused-value]
    9 |     nr+nr+1;
      |     ~~~~~^~
bonsai.cpp:10:11: error: expected ‘;’ before ‘}’ token
   10 |     n=n/10
      |           ^
      |           ;
   11 | }while(n!=10)
      | ~          
bonsai.cpp:11:14: error: expected ‘;’ before ‘if’
   11 | }while(n!=10)
      |              ^
      |              ;
   12 | if(nr%2==)
      | ~~            
bonsai.cpp:12:10: error: expected primary-expression before ‘)’ token
   12 | if(nr%2==)
      |          ^
bonsai.cpp:14:9: error: expected ‘;’ before ‘for’
   14 |     n=cn
      |         ^
      |         ;
   15 |     for(i=1;i<=nr/2;i++)
      |     ~~~  
bonsai.cpp:15:13: error: ‘i’ was not declared in this scope
   15 |     for(i=1;i<=nr/2;i++)
      |             ^
bonsai.cpp:20:12: error: ‘cout’ was not declared in this scope; did you mean ‘std::cout’?
   20 | if(s1==s2) cout,,s1;
      |            ^~~~
      |            std::cout
/usr/include/c++/13/iostream:63:18: note: ‘std::cout’ declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
bonsai.cpp:20:17: error: expected primary-expression before ‘,’ token
   20 | if(s1==s2) cout,,s1;
      |                 ^
bonsai.cpp:21:6: error: ‘cout’ was not declared in this scope; did you mean ‘std::cout’?
   21 | else cout <<"NU";
      |      ^~~~
      |      std::cout
/usr/include/c++/13/iostream:63:18: note: ‘std::cout’ declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
bonsai.cpp:24:2: error: expected ‘}’ at end of input
   24 | }
      |  ^
bonsai.cpp:3:1: note: to match this ‘{’
    3 | {
      | ^
bonsai.cpp:5:4: warning: label ‘std’ defined but not used [-Wunused-label]
    5 |    std:cin>>n;
      |    ^~~

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema bonsai face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!