#3550
Marciuc este un băiat foarte neastâmpărat. El refuză să învețe informatică, așa că înainte de fiecare oră el pleacă pentru a explora noul său liceu. La plecare le promite colegilor lui că o să treacă pe la magazin înainte de a se întoarce în clasă, pentru a avea ce să mănânce în pauza următoare. Însă, dacă va ajunge în clasă în mai mult de T
secunde, va întarza la ora așa că în acest caz va folosi o ruta directă spre clasă
.
Liceul poate fi reprezentat sub forma unei matrice cu n
linii și n
coloane. Există 3
tipuri de celule:
x
1
y
1
, la poziția x
2
y
2
sau invers;Fiind dat numărul n
de linii și de coloane, coordonatele celulelor ocupate de zid și coordonatele scurtăturilor, se cere să se afișeze numărul de secunde în care Marciuc reușește să ajungă în clasă, trecând și pe la magazin. Dacă magazinul nu este accesibil sau daca va ajunge în clasă in mai mult de T
secunde, atunci el nu va mai merge la magazin și se va afișa numărul de secunde în care acesta ajunge de la poziția lui la clasă. De asemenea, se va afișa și traseul folosit.
Problema | liceu | Operații I/O |
![]() liceu.in /liceu.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57695837 | Utilizator | |
Fișier | liceu.cpp | Dimensiune | 5.98 KB |
Data încărcării | 10 Aprilie 2025, 18:32 | Scor / rezultat | Eroare de compilare |
liceu.cpp: In function 'void lee(int, int, int (*)[405])': liceu.cpp:46:14: error: expected unqualified-id before '[' token auto [x, y] = coada.front(); ^ liceu.cpp:51:22: error: 'x' was not declared in this scope int nx = x + dx[i], ny = y + dy[i]; ^ liceu.cpp:52:32: error: 'ny' was not declared in this scope if (in_matrice(nx, ny) && harta[nx][ny] != -1) { ^ liceu.cpp:53:44: error: 'y' was not declared in this scope if (dist[nx][ny] > dist[x][y] + 1) { ^ liceu.cpp:55:40: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)' coada.push({nx, ny}); ^ liceu.cpp:55:40: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:85, from liceu.cpp:1: /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>&&}' liceu.cpp:61:37: error: 'x' was not declared in this scope for (int id : id_scurtaturi[x][y]) { ^ liceu.cpp:61:40: error: 'y' was not declared in this scope for (int id : id_scurtaturi[x][y]) { ^ liceu.cpp: In function 'int main()': liceu.cpp:200:5: error: expected '(' at end of input for ^ liceu.cpp:200:5: error: expected primary-expression at end of input liceu.cpp:200:5: error: expected ';' at end of input liceu.cpp:200:5: error: expected primary-expression at end of input liceu.cpp:200:5: error: expected ';' at end of input liceu.cpp:200:5: error: expected primary-expression at end of input liceu.cpp:200:5: error: expected ')' at end of input liceu.cpp:200:5: error: expected statement at end of input liceu.cpp:200:5: error: expected '}' at end of input
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema liceu 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ă.