#869
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:
1
leu2
leiSă 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.
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 | |
Fișier | acces2.cpp | Dimensiune | 1.46 KB |
Data încărcării | 16 Februarie 2025, 16:00 | Scor / rezultat | Eroare de 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); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Acces2 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ă.