#3114
Fie o matrice cu n
linii (numerotate de la 1
la n
) și m
coloane (numerotate de la 1
la m
) ce conține doar literele a
și b
. Se definește un drum de la o poziție (xs, ys)
la o alta (xf, yf)
ca fiind o succesiune de pași care pornește din coordonatele (xs, ys)
și ajunge în (xf, yf)
și care trece numai prin componente care memorează litera a
. La fiecare pas, de la o poziţie (i, j)
se poate trece într-una din poziţiile (i+1, j)
, (i-1, j)
, (i, j+1)
, (i, j-1)
. Lungimea drumului este dată de numărul de componente care compun drumul.
Având la dispoziție q
întrebări date sub forma a patru numere naturale xs ys xf yf
, trebuie să răspundeți pentru fiecare întrebare care este lungimea minimă a unui drum de la (xs, ys)
la (xf, yf)
care trece numai prin componente ce memorează litera a
. Dacă un astfel de drum nu există, veți afișa valoarea –1
.
Concurs Judetean XOR 2014
Problema | abq | Operații I/O |
![]() abq.in /abq.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 4 MB
/
Stivă 2 MB
|
Id soluție | #56914773 | Utilizator | |
Fișier | abq.cpp | Dimensiune | 2.07 KB |
Data încărcării | 10 Martie 2025, 19:21 | Scor / rezultat | Eroare de compilare |
abq.cpp: In function 'int bfs(int, int, int, int)': abq.cpp:37:14: error: expected unqualified-id before '[' token auto [x, y] = q.front(); ^ abq.cpp:40:13: error: 'x' was not declared in this scope if (x == xf && y == yf) { ^ abq.cpp:40:24: error: 'y' was not declared in this scope if (x == xf && y == yf) { ^ abq.cpp:46:22: error: 'x' was not declared in this scope int nx = x + dx[i], ny = y + dy[i]; ^ abq.cpp:47:30: error: 'ny' was not declared in this scope if (is_valid(nx, ny) && !visited[nx][ny]) { ^ abq.cpp:49:40: error: 'y' was not declared in this scope dist[nx][ny] = dist[x][y] + 1; ^ abq.cpp:50:32: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)' q.push({nx, ny}); ^ abq.cpp:50:32: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from abq.cpp:2: /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 abq 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ă.