Citim harta ca rânduri de caractere
Învață pas cu pas, apoi exersează.
Explicație
În problemele cu labirint, prima linie conține n și m, apoi urmează exact n rânduri, fiecare cu m caractere 0 sau 1, fără spații. 0 înseamnă celulă liberă, 1 înseamnă perete. Nu citi fiecare caracter ca pe un număr întreg separat de spații. Exemplu:
2 3
010
001
Citește cu vector<string> grid(n); apoi for (int i=0; i<n; i++) cin >> grid[i];. Pentru a verifica o celulă liberă folosește grid[i][j] == '0', cu apostrofuri: caracterul '0' este diferit de numărul 0. Exemplul are patru celule libere. Pentru vecinii unei celule, verifică întâi ni >= 0 && ni < n && nj >= 0 && nj < m, apoi accesează grid[ni][nj].
Exersează în CodePath
Creează un cont gratuit pentru a accesa editorul, testele, feedbackul și progresul cursului.
Începe gratuitAi deja cont? Deschide activitatea