#880
Se dă o tablă dreptunghiulară formată din n linii și m coloane, definind n*m zone, unele dintre ele fiind libere, altele conținând obstacole. Într-o zonă precizată se află un șoarece care se poate deplasa pe tablă trecând din zona curentă în zona învecinată cu aceasta pe linie sau pe coloană. Scopul sau este să ajungă la o bucată de brânză aflată într-o zonă de asemenea precizată, fără a părăsi tabla, fără a trece prin zone care conțin obstacole și fără a trece de două ori prin aceeași zonă.
Determinați o modalitate prin care șoarecele poate să ajungă la bucata de brânză.
| Problema | Soarece2 | Operații I/O |
soarece2.in/soarece2.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64095652 | Utilizator | |
| Fișier | soarece2.cpp | Dimensiune | 1.89 KB |
| Data încărcării | 16 Aprilie 2026, 17:55 | Scor/rezultat | 100 puncte |
soarece2.cpp: In function ‘int main()’: soarece2.cpp:23:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 23 | freopen("soarece2.in", "r", stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ soarece2.cpp:24:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 24 | freopen("soarece2.out", "w", stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ soarece2.cpp:74:19: warning: ‘bx’ may be used uninitialized [-Wmaybe-uninitialized] 74 | if(!viz[bx][by]) | ~~~~~~~~~~^ soarece2.cpp:28:17: note: ‘bx’ was declared here 28 | int sx, sy, bx, by; | ^~ soarece2.cpp:74:19: warning: ‘by’ may be used uninitialized [-Wmaybe-uninitialized] 74 | if(!viz[bx][by]) | ~~~~~~~~~~^ soarece2.cpp:28:21: note: ‘by’ was declared here 28 | int sx, sy, bx, by; | ^~ In file included from /usr/include/c++/13/bits/stl_algobase.h:64, from /usr/include/c++/13/string:51, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/ios:44, from /usr/include/c++/13/ostream:40, from /usr/include/c++/13/iostream:41, from soarece2.cpp:1: In constructor ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = int&; _U2 = int&; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<true, _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = int; _T2 = int]’, inlined from ‘int main()’ at soarece2.cpp:50:11: /usr/include/c++/13/bits/stl_pair.h:688:11: warning: ‘sx’ may be used uninitialized [-Wmaybe-uninitialized] 688 | : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ soarece2.cpp: In function ‘int main()’: soarece2.cpp:28:9: note: ‘sx’ was declared here 28 | int sx, sy, bx, by; | ^~ In constructor ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = int&; _U2 = int&; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<true, _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = int; _T2 = int]’, inlined from ‘int main()’ at soarece2.cpp:50:11: /usr/include/c++/13/bits/stl_pair.h:688:42: warning: ‘sy’ may be used uninitialized [-Wmaybe-uninitialized] 688 | : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ soarece2.cpp: In function ‘int main()’: soarece2.cpp:28:13: note: ‘sy’ was declared here 28 | int sx, sy, bx, by; | ^~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | Corect! | 20 | 20 | Exemplu | |
| 2 | 0.001 secunde | Corect! | 20 | 20 | ||
| 3 | 0.002 secunde | Corect! | 20 | 20 | ||
| 4 | 0.047 secunde | Corect! | 20 | 20 | ||
| 5 | 0.067 secunde | Corect! | 20 | 20 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Soarece2 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ă.