#1701
Birouri
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ţă. Pentru a asigura rezistenţa întregii clădiri, Arhi va proiecta niveluri noi, numerotate cu 2
, 3
,… atât timp cât conțin cel puțin un birou și sunt respectate următoarele patru reguli:
k
(k>1
), construită deasupra unui birou de pe nivelul k-1
, se va suprapune exact peste una dintre laturile biroului, sau îl va străbate în diagonală.Birourile de pe nivelul k
(k>1
), vor fi construite exact deasupra celor de pe nivelul precedent, astfel, nivelurile 2
, 4
etc. vor avea lângă ziduri spaţii triunghiulare care nu vor aparţine niciunui birou.
Numerele inscripţionate pe birouri în imaginea de mai sus, indică nivelul corespunzător birourilor vizibile de deasupra clădirii.
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 | #53061163 | Utilizator | |
Fișier | birouri.c | Dimensiune | 798 B |
Data încărcării | 16 Octombrie 2024, 18:04 | Scor / rezultat | Eroare de compilare |
birouri.c:1:1: error: unknown type name 'program' program CS_birouri; ^ birouri.c:2:1: error: unknown type name 'var' var ^ birouri.c:3:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token n, m, k, c, niv, b, p : longint; ^ birouri.c:4:2: warning: data definition has no type or storage class [enabled by default] fin, fout:text; ^ birouri.c:4:2: warning: type defaults to 'int' in declaration of 'fin' [enabled by default] birouri.c:4:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token fin, fout:text; ^ birouri.c:5:1: error: unknown type name 'begin' begin ^ birouri.c:6:14: warning: character constant too long for its type [enabled by default] assign(fin, 'birouri.in'); ^ birouri.c:6:14: error: expected ')' before '\x692e696e' birouri.c:7:14: warning: character constant too long for its type [enabled by default] assign(fout,'birouri.out'); ^ birouri.c:7:14: error: expected ')' before '\x2e6f7574' birouri.c:8:2: warning: data definition has no type or storage class [enabled by default] reset(fin); rewrite(fout); ^ birouri.c:8:2: warning: type defaults to 'int' in declaration of 'reset' [enabled by default] birouri.c:8:2: warning: parameter names (without types) in function declaration [enabled by default] birouri.c:8:14: warning: data definition has no type or storage class [enabled by default] reset(fin); rewrite(fout); ^ birouri.c:8:14: warning: type defaults to 'int' in declaration of 'rewrite' [enabled by default] birouri.c:8:2: warning: parameter names (without types) in function declaration [enabled by default] reset(fin); rewrite(fout); ^ birouri.c:9:6: warning: data definition has no type or storage class [enabled by default] readln(fin, c, n); ^ birouri.c:9:6: warning: type defaults to 'int' in declaration of 'readln' [enabled by default] birouri.c:9:6: warning: parameter names (without types) in function declaration [enabled by default] birouri.c:10:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token m:=n; ^ birouri.c:11:6: error: unknown type name 'repeat' repeat ^ birouri.c:12:10: warning: parameter names (without types) in function declaration [enabled by default] inc(niv); ^ birouri.c:13:10: error: expected identifier or '(' before 'if' if niv mod 2 = 1 then ^ birouri.c:18:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token p := k * k div 2 - k; ^ birouri.c:19:6: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token b := b + p; ^ birouri.c:20:15: error: expected identifier or '(' before 'if' if p = 0 then dec(niv); ^ birouri.c:21:15: error: expected identifier or '(' before 'if' if k mod 4 = 0 then begin ^ birouri.c:23:7: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token n := k; m := k ^ birouri.c:23:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token n := k; m := k ^ birouri.c:26:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token n := n div 2 - 1; m := n + 2 ^ birouri.c:29:6: error: unknown type name 'until' until not((n <> 0) and (n mod 2 = 0)); ^ birouri.c:29:16: error: expected declaration specifiers or '...' before '(' token until not((n <> 0) and (n mod 2 = 0)); ^ birouri.c:30:6: error: expected identifier or '(' before 'if' if c=1 then ^ birouri.c:34:3: warning: data definition has no type or storage class [enabled by default] close(fin); close(fout); ^ birouri.c:34:3: warning: type defaults to 'int' in declaration of 'close' [enabled by default] birouri.c:34:3: warning: parameter names (without types) in function declaration [enabled by default] birouri.c:34:15: warning: data definition has no type or storage class [enabled by default] close(fin); close(fout); ^ birouri.c:34:15: warning: type defaults to 'int' in declaration of 'close' [enabled by default] birouri.c:34:3: warning: parameter names (without types) in function declaration [enabled by default] close(fin); close(fout); ^ birouri.c:35:4: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token 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ă.