#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:
R = 0, astfel Andrei trebuie să caute toate locurile posibile în care se poate amplasa un bonsai de rază R = 0.Rmax pe care o poate avea un bonsai în grădină.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.
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.C = 2, ajutați-l pe Andrei să determine raza maximă Rmax a unui bonsai care poate fi plantat în grădină.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.OJI 2026, clasa a 7-a
| 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 | #64754645 | Utilizator | |
| Fișier | bonsai.cpp | Dimensiune | 275 B |
| Data încărcării | 28 Mai 2026, 08:04 | Scor/rezultat | Eroare de compilare |
bonsai.cpp: In function ‘int main()’: bonsai.cpp:4:18: error: expected initializer before ‘+’ token 4 | int cn, n, s1+0,s2+0,nr+0; | ^ bonsai.cpp:5:5: error: ‘cin’ was not declared in this scope; did you mean ‘std::cin’? 5 | 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:6:9: error: expected ‘;’ before ‘do’ 6 | cn=n | ^ | ; 7 | 8 | do{ | ~~ bonsai.cpp:12:4: error: ‘nr’ was not declared in this scope; did you mean ‘n’? 12 | if(nr%2==) | ^~ | n 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:4: error: ‘s1’ was not declared in this scope 20 | if(s1==s2) cout,,s1; | ^~ bonsai.cpp:20:8: error: ‘s2’ was not declared in this scope 20 | if(s1==s2) cout,,s1; | ^~ 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:23:10: error: expected ‘}’ at end of input 23 | return 0; | ^ bonsai.cpp:13:1: note: to match this ‘{’ 13 | { | ^ bonsai.cpp:23:10: error: expected ‘}’ at end of input 23 | return 0; | ^ bonsai.cpp:3:1: note: to match this ‘{’ 3 | { | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema bonsai face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.