#4437
arcade1
Ernest a găsit în garajul familiei sale un joc Pacman. Labirintul din joc poate fi reprezentat ca o matrice cu N
linii și N
coloane. Pe fiecare linie și fiecare coloană există exact un obstacol. Vom nota cu (L, C)
poziția de pe linia L
și coloana C
. Matricea este circulară: dacă Pacman se deplasează la dreapta din poziția (L, N)
, ajunge în (L, 1)
, iar dacă se deplasează la stanga din poziția (L, 1)
, ajunge în (L, N)
, pentru orice linie L
din matrice. Similar, dacă se deplasează în sus din (1, C)
, ajunge în (N, C)
, respectiv dacă se deplasează în jos din (N, C)
, ajunge în (1, C)
, pentru orice coloană C
. Inițial Pacman se află în (1, 1)
și vrea sa ajungă în (N, N)
unde se găsește un punct galben care îl va ajuta să învingă fantomele colorate. Problema este formată din doua cerințe:
U
, D
, L
, R
, ce descriu în ordine mișcările lui Pacman. Deplasându-se conform acestui șir, va ajunge Pacman din (1, 1)
la punctul galben de coordonate (N, N)
?U
, D
, L
, R
prin care Pacman poate ajunge din (1, 1)
la punctul galben de coordonate (N, N)
?Problema | arcade1 | Operații I/O |
arcade.in /arcade.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
Id soluție | #50216063 | Utilizator | |
Fișier | arcade1.cpp | Dimensiune | 2.30 KB |
Data încărcării | 01 Aprilie 2024, 09:42 | Scor / rezultat | Eroare de compilare |
arcade1.cpp: In function 'void solve2()': arcade1.cpp:82:12: error: expected unqualified-id before '[' token auto [ x, y ] = qe.front(); ^ arcade1.cpp:85:11: error: 'x' was not declared in this scope if (x == n && y == n) break; ^ arcade1.cpp:85:21: error: 'y' was not declared in this scope if (x == n && y == n) break; ^ arcade1.cpp:88:29: error: 'x' was not declared in this scope pii pos = moves[k](x, y); ^ arcade1.cpp:88:32: error: 'y' was not declared in this scope pii pos = moves[k](x, y); ^ arcade1.cpp:90:29: error: no match for 'operator[]' (operand types are 'std::map<std::pair<int, int>, int>' and '<brace-enclosed initializer list>') dist[pos] = dist[{ x, y }] + 1; ^ arcade1.cpp:90:29: note: candidates are: In file included from /usr/include/c++/4.8/map:61:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:80, from arcade1.cpp:1: /usr/include/c++/4.8/bits/stl_map.h:456:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::pair<int, int>; _Tp = int; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<const std::pair<int, int>, int> >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = int; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::pair<int, int>] operator[](const key_type& __k) ^ /usr/include/c++/4.8/bits/stl_map.h:456:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const key_type& {aka const std::pair<int, int>&}' /usr/include/c++/4.8/bits/stl_map.h:476:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](std::map<_Key, _Tp, _Compare, _Alloc>::key_type&&) [with _Key = std::pair<int, int>; _Tp = int; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<const std::pair<int, int>, int> >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = int; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::pair<int, int>] operator[](key_type&& __k) ^ /usr/include/c++/4.8/bits/stl_map.h:476:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::map<std::pair<int, int>, int>::key_type&& {aka std::pair<int, int>&&}'
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema arcade1 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ă.