#2436
Arheologii au descoperit pe un platou muntos greu accesibil ruinele unui castel medieval, pe care l-au fotografiat din elicopter, obţinând harta digitizată a acestuia. Harta este memorată sub forma unui tablou bidimensional H, compus din N x N pătrate cu latura egală cu unitatea, având ca elemente numere naturale între 0 și 15, care codifică forma pereţilor fiecărui pătrat unitar. Dacă scriem numărul natural H[i][j] în baza 2, folosind exact 4 cifre binare, fiecare bit dă informații despre unul dintre pereții posibil de construit pe fiecare latură a pătratului unitar din poziția (i,j), astfel:
0 are valoarea 1, atunci există perete pe latura vestică (latura din stânga);1 are valoarea 1, atunci există perete pe latura sudică (latura de jos);2 are valoarea 1, atunci există perete pe latura estică (latura din dreapta);3 are valoarea 1, atunci există perete pe latura nordică (latura de sus);0 indică lipsa peretelui corespunzător acestuia;Pentru un număr scris în baza 2, numerotarea cifrelor începe cu poziția 0, de la dreapta la stânga.
Castelul este interesant deoarece, pentru realizarea unei mai bune apărări, camerele ce-l compun sunt construite fie independent, fie una în interiorul alteia. Orice camera este construită la o distanţă de cel puţin o unitate faţă de zidul ce împrejmuieşte castelul sau faţă de pereţii altor camere.
Folosind harta, arheologii doresc să afle informaţii privind numărul camerelor şi camera de arie maximă. Prin arie a unei camere se înţelege numărul pătratelor unitate cuprinse în interiorul pereților aceasteia, fără a socoti ariile camerelor construite în interiorul ei.
Cunoscând codificarea hărţii castelului, să se determine:
1. numărul total al camerelor din castel
2. aria maximă a unei camere
3. coordonatele colţurilor din stânga-sus, respectiv dreapta-jos a camerei cu aria maximă. Dacă există mai multe camere având aceeaşi arie maximă, atunci se vor afişa coordonatele camerei având colţul din stânga-sus (lin1, col1) cu lin1 minimă, iar la linii egale pe aceea cu col1 minimă.
| Problema | castel1 | Operații I/O |
castel1.in/castel1.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
| Id soluție | #64476679 | Utilizator | |
| Fișier | castel1.cpp | Dimensiune | 2.78 KB |
| Data încărcării | 09 Mai 2026, 15:15 | Scor/rezultat | 23 puncte |
castel1.cpp: In function ‘int main()’: castel1.cpp:106:51: warning: ‘bl1’ may be used uninitialized [-Wmaybe-uninitialized] 106 | if(arie>maxArie || (arie==maxArie && | ~~~~~~~~~~~~~~~^~ 107 | (l1<bl1 || (l1==bl1 && c1<bc1)))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ castel1.cpp:68:9: note: ‘bl1’ was declared here 68 | int bl1,bc1,bl2,bc2; | ^~~ castel1.cpp:107:45: warning: ‘bc1’ may be used uninitialized [-Wmaybe-uninitialized] 107 | (l1<bl1 || (l1==bl1 && c1<bc1)))) | ~~^~~~ castel1.cpp:68:13: note: ‘bc1’ was declared here 68 | int bl1,bc1,bl2,bc2; | ^~~ castel1.cpp:118:35: warning: ‘bl2’ may be used uninitialized [-Wmaybe-uninitialized] 118 | fout<<" "<<bc1<<" "<<bl2<<" "<<bc2; | ^~~ castel1.cpp:68:17: note: ‘bl2’ was declared here 68 | int bl1,bc1,bl2,bc2; | ^~~ castel1.cpp:118:40: warning: ‘bc2’ may be used uninitialized [-Wmaybe-uninitialized] 118 | fout<<" "<<bc1<<" "<<bl2<<" "<<bc2; | ^~~ castel1.cpp:68:21: note: ‘bc2’ was declared here 68 | int bl1,bc1,bl2,bc2; | ^~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0.001 secunde | OK. | 5 | 5 | ||
| 1 | 0.001 secunde | OK. | 5 | 5 | ||
| 2 | 0.001 secunde | OK. | 5 | 5 | ||
| 3 | 0.001 secunde | OK. | 5 | 5 | ||
| 4 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 5 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 6 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 7 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 8 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 9 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 10 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 11 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 12 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 13 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 14 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 15 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 16 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 17 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 18 | 0.001 secunde | OK. | 3 | 3 | ||
| 19 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 20 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| Punctaj total | 23 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema castel1 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ă.