Detalii evaluare #50419252

Rezumat problemă

Se consideră o încăpere de lungime n și lățime m împărțită în n*m zone pătrate, sub forma unei matrice cu n linii și m coloane. Încăperea este acoperită în totalitate cu p covoare de diferite dimensiuni astfel încât acestea nu se suprapun, fiecare zonă pătrată a încăperii fiind acoperită de exact un covor.

Miguel, administratorul clădirii, este responsabil cu spălarea covoarelor. Astfel, el a notat dimensiunile fiecărui covor, în ordine, de sus în jos și de la stânga la dreapta. Covoarele au fost scoase și spălate, iar acum Gigel vă cere ajutorul.

Cunoscând dimensiunile încăperii, numărul de covoare precum și dimensiunile fiecărui covor, să se refacă așezarea inițială a acestora.

Detalii

Problema Covoare1 Operații I/O covoare1.in/covoare1.out
Limita timp 1 secunde Limita memorie Total: 10 MB / Stivă 10 MB
Id soluție #50419252 Utilizator Casaru Vlad (Casaru_Vlad)
Fișier covoare1.cpp Dimensiune 1.16 KB
Data încărcării 08 Aprilie 2024, 23:17 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

covoare1.cpp:8:54: error: 'int rand [1000001]' redeclared as different kind of symbol
 int n, m, p, i, j, pi, pj, col[1000001], rand[1000001], ok, x, y, plin, aux;

                                                      ^
In file included from /usr/include/c++/4.8/cstdlib:72:0,
                 from /usr/include/c++/4.8/ext/string_conversions.h:41,
                 from /usr/include/c++/4.8/bits/basic_string.h:2815,
                 from /usr/include/c++/4.8/string:52,
                 from /usr/include/c++/4.8/bits/locale_classes.h:40,
                 from /usr/include/c++/4.8/bits/ios_base.h:41,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from covoare1.cpp:1:
/usr/include/stdlib.h:374:12: error: previous declaration of 'int rand()'
 extern int rand (void) __THROW;
            ^
covoare1.cpp: In function 'int main()':
covoare1.cpp:17:15: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         rand[j] = rand[j] + pj;

               ^
covoare1.cpp:17:25: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         rand[j] = rand[j] + pj;

                         ^
covoare1.cpp:17:29: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         rand[j] = rand[j] + pj;

                             ^
covoare1.cpp:17:17: error: assignment of read-only location '*(rand + ((sizetype)j))'
         rand[j] = rand[j] + pj;

                 ^
covoare1.cpp:17:17: error: cannot convert 'int (*)()throw ()' to 'int()throw ()' in assignment
covoare1.cpp:18:18: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         if(rand[j] == m)

                  ^
covoare1.cpp:18:23: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
         if(rand[j] == m)

                       ^
covoare1.cpp:35:19: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             rand[j] = rand[j] + pj;

                   ^
covoare1.cpp:35:29: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             rand[j] = rand[j] + pj;

                             ^
covoare1.cpp:35:33: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             rand[j] = rand[j] + pj;

                                 ^
covoare1.cpp:35:21: error: assignment of read-only location '*(rand + ((sizetype)j))'
             rand[j] = rand[j] + pj;

                     ^
covoare1.cpp:35:21: error: cannot convert 'int (*)()throw ()' to 'int()throw ()' in assignment
covoare1.cpp:36:22: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             if(rand[j] == m)

                      ^
covoare1.cpp:36:27: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
             if(rand[j] == m)

                           ^

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