Detalii evaluare #33897051

Rezumat problemă

#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ă.

Detalii

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 #33897051 Utilizator solinfo.ro | Soluții probleme (solinfo_ro)
Fișier discuri.cpp Dimensiune 1.14 KB
Data încărcării 12 Ianuarie 2022, 21:06 Scor / rezultat Eroare de compilare

Evaluare


Mesaj 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.
 ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Discuri face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.