#4806
Andrei se află într-un labirint format dintr-o matrice de camere, fiecare având unul dintre următoarele tipuri: 0: cameră cu bec stins, 1: cameră cu bec aprins, 2: cameră fără bec (inaccesibilă), 3: cameră cu întrerupător.
Camerele de tip 3 pot aprinde/stinge becurile altor camere. Andrei poate alege să apese sau nu întrerupătoarele întâlnite. El pornește dintr-o cameră dată și trebuie să ajungă într-o cameră destinație, deplasându-se doar prin camere aprinse.
Se cere determinarea distanței minime pentru a ajunge la destinație.
Concursul Național de Matematică și Informatică Grigore Moisil
| Problema | EscapeLight | Operații I/O |
escapelight.in/escapelight.out
|
|---|---|---|---|
| Limita timp | 0.7 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64647867 | Utilizator | |
| Fișier | escapelight.cpp | Dimensiune | 4.04 KB |
| Data încărcării | 20 Mai 2026, 12:22 | Scor/rezultat | Eroare de compilare |
escapelight.cpp: In function ‘bool luminoasa(int, int, int)’: escapelight.cpp:37:23: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 37 | for (auto [bx, by] : conexiuni[i]) { | ^ escapelight.cpp: In function ‘int main()’: escapelight.cpp:78:36: warning: overflow in conversion from ‘int’ to ‘short int’ changes value from ‘1000000000’ to ‘-13824’ [-Woverflow] 78 | dist[mask][i][j] = INF; | ^~~ escapelight.cpp:90:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 90 | auto [x, y, mask] = q.front(); q.pop(); | ^ escapelight.cpp:120:18: error: no matching function for call to ‘min(int&, short int&)’ 120 | ans = min(ans, dist[mask][xf][yf]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51, from escapelight.cpp:1: /usr/include/c++/13/bits/stl_algobase.h:233:5: note: candidate: ‘template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)’ 233 | min(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/13/bits/stl_algobase.h:233:5: note: template argument deduction/substitution failed: escapelight.cpp:120:18: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘short int’) 120 | ans = min(ans, dist[mask][xf][yf]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_algobase.h:281:5: note: candidate: ‘template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)’ 281 | min(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/13/bits/stl_algobase.h:281:5: note: template argument deduction/substitution failed: escapelight.cpp:120:18: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘short int’) 120 | ans = min(ans, dist[mask][xf][yf]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/algorithm:61: /usr/include/c++/13/bits/stl_algo.h:5775:5: note: candidate: ‘template<class _Tp> _Tp std::min(initializer_list<_Tp>)’ 5775 | min(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/13/bits/stl_algo.h:5775:5: note: template argument deduction/substitution failed: escapelight.cpp:120:18: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘int’ 120 | ans = min(ans, dist[mask][xf][yf]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_algo.h:5785:5: note: candidate: ‘template<class _Tp, class _Compare> _Tp std::min(initializer_list<_Tp>, _Compare)’ 5785 | min(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/13/bits/stl_algo.h:5785:5: note: template argument deduction/substitution failed: escapelight.cpp:120:18: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘int’ 120 | ans = min(ans, dist[mask][xf][yf]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema EscapeLight 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ă.