LECȚIE C++ · Labirint: de la vecini la drumul minim

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 gratuit

Ai deja cont? Deschide activitatea

Citim harta ca rânduri de caractere | C++ explicat | CodePath