#1701
Arhi şi-a propus să extindă clădirea de birouri pe care a proiectat-o iniţial pe un singur nivel numerotat cu 1, împărţit în n*n zone pătratice de latură 1, fiecare corespunzând unui birou, prin construirea mai multor niveluri. În colţurile tuturor birourilor se construiesc grinzi de rezistenţă. Cunoscându-se lungimea n a laturii primului nivel al clădirii, să se determine:
ONI 2016, clasa a VII-a
| Problema | Birouri | Operații I/O |
birouri.in/birouri.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
| Id soluție | #64588215 | Utilizator | |
| Fișier | birouri.cpp | Dimensiune | 957 B |
| Data încărcării | 16 Mai 2026, 22:23 | Scor/rezultat | Eroare de compilare |
birouri.cpp:6:17: warning: character constant too long for its type 6 | assign(fin, 'birouri.in'); | ^~~~~~~~~~~~ birouri.cpp:7:13: warning: character constant too long for its type 7 | assign(fout,'birouri.out'); | ^~~~~~~~~~~~~ birouri.cpp:1:1: error: ‘program’ does not name a type 1 | program CS_birouri; | ^~~~~~~ birouri.cpp:2:1: error: ‘var’ does not name a type 2 | var | ^~~ birouri.cpp:4:1: error: ‘fin’ does not name a type 4 | fin, fout:text; | ^~~ birouri.cpp:5:1: error: ‘begin’ does not name a type 5 | begin | ^~~~~ birouri.cpp:7:7: error: expected constructor, destructor, or type conversion before ‘(’ token 7 | assign(fout,'birouri.out'); | ^ birouri.cpp:8:6: error: expected constructor, destructor, or type conversion before ‘(’ token 8 | reset(fin); rewrite(fout); | ^ birouri.cpp:8:20: error: expected constructor, destructor, or type conversion before ‘(’ token 8 | reset(fin); rewrite(fout); | ^ birouri.cpp:9:11: error: expected constructor, destructor, or type conversion before ‘(’ token 9 | readln(fin, c, n); | ^ birouri.cpp:10:1: error: ‘m’ does not name a type 10 | m:=n; | ^ birouri.cpp:11:5: error: ‘repeat’ does not name a type 11 | repeat | ^~~~~~ birouri.cpp:13:9: error: expected unqualified-id before ‘if’ 13 | if niv mod 2 = 1 then | ^~ birouri.cpp:18:41: error: ‘p’ does not name a type 18 | p := k * k div 2 - k; | ^ birouri.cpp:19:1: error: ‘b’ does not name a type 19 | b := b + p; | ^ birouri.cpp:20:13: error: expected unqualified-id before ‘if’ 20 | if p = 0 then dec(niv); | ^~ birouri.cpp:21:13: error: expected unqualified-id before ‘if’ 21 | if k mod 4 = 0 then begin | ^~ birouri.cpp:23:1: error: ‘n’ does not name a type 23 | n := k; m := k | ^ birouri.cpp:23:9: error: ‘m’ does not name a type 23 | n := k; m := k | ^ birouri.cpp:26:23: error: ‘m’ does not name a type 26 | n := n div 2 - 1; m := n + 2 | ^ birouri.cpp:29:5: error: ‘until’ does not name a type 29 | until not((n <> 0) and (n mod 2 = 0)); | ^~~~~ birouri.cpp:30:5: error: expected unqualified-id before ‘if’ 30 | if c=1 then | ^~ birouri.cpp:34:15: error: expected constructor, destructor, or type conversion before ‘(’ token 34 | close(fin); close(fout); | ^ birouri.cpp:34:27: error: expected constructor, destructor, or type conversion before ‘(’ token 34 | close(fin); close(fout); | ^ birouri.cpp:35:1: error: ‘end’ does not name a type 35 | end. | ^~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Birouri 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ă.