Detalii evaluare #56374905

Rezumat problemă

Se consideră o clădire de formă dreptunghiulară, împărțită în n*m camere, dispuse sub forma unei matrice cu n linii și m coloane. Dintr-o cameră se poate trece în oricare dintre cele 4 camere vecine pe linie sau pe coloană. Unele camere sunt închise, și în ele nu se poate intra deloc. Trecerea dintr-o cameră în altă cameră durează un minut.

Camerele formează zone. O zonă este alcătuită dintr-un număr maxim de camere cu proprietatea că oricum am alege două camere din zonă se poate ajunge dintr-o cameră în alta trecând doar prin camere libere.

În anumite camere se află echipe de pompieri. Fiecare echipă deservește zona din care face parte camera echipei.

S-a constatat că așezarea echipelor în camere nu este tocmai corectă. Mai precis, există zone care nu sunt deservite de nicio echipă de pompieri. Pentru corectarea acestei probleme există două operații posibile:

  • mutarea unor echipe din camera curentă în altă cameră – operație care costă 1 leu
  • crearea unor echipe noi și plasare lor în camere – operație care costă 2 lei

Să se determine costul minim al operațiilor necesare, astfel încât fiecare zonă din clădire să fie deservită de cel puțin o echipă de pompieri.

Detalii

Problema Acces2 Operații I/O acces2.in/acces2.out
Limita timp 0.5 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #56374905 Utilizator Ionita Alex (Alexutu008)
Fișier acces2.cpp Dimensiune 1.46 KB
Data încărcării 16 Februarie 2025, 16:00 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

acces2.cpp: In lambda function:
acces2.cpp:30:14: error: expected unqualified-id before '[' token
         auto [x, y] = s.top();

              ^
acces2.cpp:33:15: error: 'x' was not declared in this scope
         if (a[x][y] == -1) continue;

               ^
acces2.cpp:33:18: error: 'y' was not declared in this scope
         if (a[x][y] == -1) continue;

                  ^
acces2.cpp:34:15: error: 'x' was not declared in this scope
         if (a[x][y] == 1) ++plib;

               ^
acces2.cpp:34:18: error: 'y' was not declared in this scope
         if (a[x][y] == 1) ++plib;

                  ^
acces2.cpp:35:11: error: 'x' was not declared in this scope
         a[x][y] = -1;

           ^
acces2.cpp:35:14: error: 'y' was not declared in this scope
         a[x][y] = -1;

              ^
acces2.cpp:39:28: error: 'ny' was not declared in this scope
             if (inside(nx, ny) && a[nx][ny] != -1) {

                            ^
acces2.cpp:40:32: error: no matching function for call to 'std::stack<std::pair<int, int> >::push(<brace-enclosed initializer list>)'
                 s.push({nx, ny});

                                ^
acces2.cpp:40:32: note: candidates are:
In file included from /usr/include/c++/4.8/stack:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:88,
                 from acces2.cpp:1:
/usr/include/c++/4.8/bits/stl_stack.h:186:7: note: void std::stack<_Tp, _Sequence>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::stack<_Tp, _Sequence>::value_type = std::pair<int, int>]
       push(const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_stack.h:186:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const std::pair<int, int>&}'
/usr/include/c++/4.8/bits/stl_stack.h:191:7: note: void std::stack<_Tp, _Sequence>::push(std::stack<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::stack<_Tp, _Sequence>::value_type = std::pair<int, int>]
       push(value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_stack.h:191:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::stack<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}'
acces2.cpp: In function 'int main()':
acces2.cpp:24:6: warning: unused variable 'dy' [-Wunused-variable]
  int dy[] = { 0,0,1,-1 };

      ^
acces2.cpp:6:34: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  freopen("acces2.in", "r", stdin);

                                  ^
acces2.cpp:7:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  freopen("acces2.out", "w", stdout);

                                    ^

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

Du-te sus!