#2610
Discuri
Se dau N
numere reale considerate ca fiind razele a N
discuri. Considerăm că așezăm un disc în sistemul xOy
dacă îl plasăm la o coordonată x
pozitivă suficient de mare, tangent cu axa Ox
și deasupra ei, apoi îl împingem spre Oy
până când devine tangent cu Oy
sau cu primul disc așezat anterior întâlnit. În figura rezultată după așezarea tuturor discurilor în ordinea dată unele dintre ele pot fi considerate dispensabile, pentru că prin eliminarea lor nu se modifică lățimea totală a figurii, adică nici un disc nu se mai poate deplasa spre stânga. Identificați toate discurile dispensabile din figură.
Problema | Discuri | Operații I/O |
discuri.in /discuri.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #33888963 | Utilizator | |
Fișier | discuri.cpp | Dimensiune | 1.14 KB |
Data încărcării | 12 Ianuarie 2022, 17:00 | Scor / rezultat | Eroare de compilare |
discuri.cpp:1:10: warning: character constant too long for its type [enabled by default] const fi='discuri.in'; fo='discuri.out'; ^ discuri.cpp:1:27: warning: character constant too long for its type [enabled by default] const fi='discuri.in'; fo='discuri.out'; ^ discuri.cpp:2:17: error: too many decimal points in number type vect=array[1..10000]of real; ^ discuri.cpp:7:14: error: too many decimal points in number vc:array[1..10000]of boolean; ^ discuri.cpp:1:7: error: 'fi' does not name a type const fi='discuri.in'; fo='discuri.out'; ^ discuri.cpp:1:24: error: 'fo' does not name a type const fi='discuri.in'; fo='discuri.out'; ^ discuri.cpp:2:1: error: 'type' does not name a type type vect=array[1..10000]of real; ^ discuri.cpp:3:1: error: 'var' does not name a type var n,i,j,nr,k:integer; ^ discuri.cpp:4:7: error: found ':' in nested-name-specifier, expected '::' sw:boolean; ^ discuri.cpp:4:5: error: 'sw' does not name a type sw:boolean; ^ discuri.cpp:5:5: error: 'dd' does not name a type dd,dp:real; ^ discuri.cpp:6:5: error: 'd' does not name a type d,x:^vect; ^ discuri.cpp:7:7: error: found ':' in nested-name-specifier, expected '::' vc:array[1..10000]of boolean; ^ discuri.cpp:7:5: error: 'vc' does not name a type vc:array[1..10000]of boolean; ^ discuri.cpp:8:1: error: 'function' does not name a type function dist(i,j:integer):real; ^ discuri.cpp:9:1: error: 'var' does not name a type var r,rr:real; ^ discuri.cpp:10:1: error: 'begin' does not name a type begin ^ discuri.cpp:11:16: error: 'rr' does not name a type r:=d^[i]; rr:=d^[j]; ^ discuri.cpp:12:6: error: 'dist' does not name a type dist:=x^[i]+sqrt((r+rr)*(r+rr)-(r-rr)*(r-rr)); ^ discuri.cpp:13:1: error: 'end' does not name a type end; ^ discuri.cpp:14:1: error: 'begin' does not name a type begin ^ discuri.cpp:15:14: error: expected unqualified-id before 'new' new(d); new(x); ^ discuri.cpp:16:12: error: expected constructor, destructor, or type conversion before '(' token assign(input,fi); reset(input); ^ discuri.cpp:16:29: error: expected constructor, destructor, or type conversion before '(' token assign(input,fi); reset(input); ^ discuri.cpp:17:12: error: expected constructor, destructor, or type conversion before '(' token readln(n); ^ discuri.cpp:18:6: error: expected unqualified-id before 'for' for i:=1 to n do readln(d^[i]); ^ discuri.cpp:19:11: error: expected constructor, destructor, or type conversion before '(' token close(input); ^ discuri.cpp:20:14: error: expected constructor, destructor, or type conversion before '(' token fillchar(vc,sizeof(vc),true); ^ discuri.cpp:21:6: error: expected unqualified-id before 'for' for i:=1 to n do begin ^ discuri.cpp:22:21: error: 'k' does not name a type dd:=d^[i]; k:=0; ^ discuri.cpp:23:10: error: expected unqualified-id before 'for' for j:=1 to i-1 do begin ^ discuri.cpp:25:14: error: expected unqualified-id before 'if' if dd<=dp then begin ^ discuri.cpp:26:25: error: 'k' does not name a type dd:=dp; k:=j; ^ discuri.cpp:27:14: error: 'end' does not name a type end; ^ discuri.cpp:28:10: error: 'end' does not name a type end; x^[i]:=dd; ^ discuri.cpp:28:15: error: 'x' does not name a type end; x^[i]:=dd; ^ discuri.cpp:29:10: error: expected unqualified-id before 'for' for j:=k+1 to i-1 do vc[j]:=false; ^ discuri.cpp:30:6: error: 'end' does not name a type end; k:=0; dd:=0; ^ discuri.cpp:30:11: error: 'k' does not name a type end; k:=0; dd:=0; ^ discuri.cpp:30:17: error: 'dd' does not name a type end; k:=0; dd:=0; ^ discuri.cpp:31:6: error: expected unqualified-id before 'for' for i:=1 to n do if dd<x^[i]+d^[i] then begin ^ discuri.cpp:32:27: error: 'k' does not name a type dd:=x^[i]+d^[i]; k:=i; ^ discuri.cpp:33:6: error: 'end' does not name a type end; ^ discuri.cpp:34:6: error: expected unqualified-id before 'for' for i:=k+1 to n do vc[i]:=false; ^ discuri.cpp:35:6: error: 'nr' does not name a type nr:=0; ^ discuri.cpp:36:6: error: expected unqualified-id before 'for' for i:=1 to n do if not vc[i] then inc(nr); ^ discuri.cpp:37:12: error: expected constructor, destructor, or type conversion before '(' token assign(output,fo); rewrite(output); ^ discuri.cpp:37:32: error: expected constructor, destructor, or type conversion before '(' token assign(output,fo); rewrite(output); ^ discuri.cpp:38:13: error: expected constructor, destructor, or type conversion before '(' token writeln(nr); ^ discuri.cpp:39:6: error: expected unqualified-id before 'for' for i:=1 to n do if not vc[i] then writeln(i); ^ discuri.cpp:40:11: error: expected constructor, destructor, or type conversion before '(' token close(output); dispose(d); dispose(x); ^ discuri.cpp:40:28: error: expected constructor, destructor, or type conversion before '(' token close(output); dispose(d); dispose(x); ^ discuri.cpp:40:40: error: expected constructor, destructor, or type conversion before '(' token close(output); dispose(d); dispose(x); ^ discuri.cpp:41:1: error: 'end' does not name a type end. ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Discuri 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ă.