#343
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 | Soarece1 | Operații I/O |
soarece1.in/soarece1.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64897498 | Utilizator | |
| Fișier | soarece1.cpp | Dimensiune | 748 B |
| Data încărcării | 10 Iunie 2026, 14:52 | Scor/rezultat | Eroare de compilare |
soarece1.cpp:4:1: error: ‘ifstream’ does not name a type 4 | ifstream fin("soarece1.in"); | ^~~~~~~~ soarece1.cpp:5:1: error: ‘ofstream’ does not name a type 5 | ofstream fout("soarece1.in"); | ^~~~~~~~ soarece1.cpp: In function ‘void backtr(int, int, char (*)[20])’: soarece1.cpp:10:11: error: ‘fin’ was not declared in this scope 10 | fin>>n>>m; | ^~~ soarece1.cpp:13:1: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 13 | for(int i=0; i<n; i++) | ^~~ soarece1.cpp:16:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 16 | while(lab[i][j]!="B"){ | ^~~~~ soarece1.cpp:16:15: error: ‘i’ was not declared in this scope 16 | while(lab[i][j]!="B"){ | ^ soarece1.cpp:16:18: error: ‘j’ was not declared in this scope 16 | while(lab[i][j]!="B"){ | ^ soarece1.cpp:19:21: warning: comparison with string literal results in unspecified behavior [-Waddress] 19 | if(lab[i][j]=="S"); | ~~~~~~~~~^~~~~ soarece1.cpp:19:21: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] soarece1.cpp:19:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 19 | if(lab[i][j]=="S"); | ^~ soarece1.cpp:20:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 20 | ziel[i][j]=nr; | ^~~~ soarece1.cpp:21:22: error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive] 21 | if(lab[i][j]="_"){ | ^~~ | | | const char* soarece1.cpp:21:21: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 21 | if(lab[i][j]="_"){ | ~~~~~~~~~^~~~ soarece1.cpp:22:89: error: lvalue required as left operand of assignment 22 | if(lab[i][j]=lab[i-1][j-1]||lab[i][j]=lab[i-1][j+1]||lab[i][j]=lab[i+1][j-1]||lab[i][j]=lab[i+1][j+1]){ | ~~~~~~~~~~~~~^~~~~~~~~~~ soarece1.cpp:30:9: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 30 | int main() | ^~ soarece1.cpp:30:9: note: remove parentheses to default-initialize a variable 30 | int main() | ^~ | -- soarece1.cpp:30:9: note: or replace parentheses with braces to value-initialize a variable soarece1.cpp:31:1: error: a function-definition is not allowed here before ‘{’ token 31 | {backtr(int n,int m, char lab[20][20]); | ^ soarece1.cpp:38:2: error: expected ‘}’ at end of input 38 | } | ^ soarece1.cpp:9:44: note: to match this ‘{’ 9 | void backtr(int n, int m, char lab[20][20]){ | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Soarece1 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ă.