#884
Se consideră o clădire de formă dreptunghiulară, formată din n*m
camere dispuse sub forma unei matrice cu n
linii și m
coloane. Anumite camere sunt ocupate şi nu pot fi vizitate, celelalte sunt libere și pot fi vizitate. Dintr-o cameră se poate trece în altă cameră dacă ambele sunt libere și se învecinează pe linie sau pe coloană.
În anumite camere sunt paznici. Din motive de securitate, paznicii se pot deplasa din camera inițială în anumite camere libere din apropiere, dar fără a se îndepărta la o distanță mai mare decât o valoare cunoscută. Fiecare paznic va verifica periodic camerele libere în care poate ajunge.
Să se determine numărul de camere din clădire care nu sunt verificate de niciun paznic.
Problema | Paznici | Operații I/O |
![]() paznici.in /paznici.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57708981 | Utilizator | |
Fișier | paznici.cpp | Dimensiune | 1.93 KB |
Data încărcării | 11 Aprilie 2025, 12:08 | Scor / rezultat | Eroare de compilare |
paznici.cpp: In function 'void bfs(int, int, int)': paznici.cpp:22:14: error: expected unqualified-id before '[' token auto [x, y] = q.front(); ^ paznici.cpp:25:22: error: 'x' was not declared in this scope int nx = x + dx[k], ny = y + dy[k]; ^ paznici.cpp:26:39: error: 'ny' was not declared in this scope if (nx >= 1 && nx <= n && ny >= 1 && ny <= m && harta[nx][ny] == '-' && dist[nx][ny] == 0) { ^ paznici.cpp:27:40: error: 'y' was not declared in this scope dist[nx][ny] = dist[x][y] + 1; ^ paznici.cpp:29:36: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)' q.push({nx, ny}); ^ paznici.cpp:29:36: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from paznici.cpp:3: /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: void std::queue<_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::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:212: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_queue.h:217:7: note: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}'
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Paznici 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ă.