De ce contează?
Stai pe o tablă de șah, pe un pătrat anume. Vrei să te uiți la vecinul de sus, apoi la cel din dreapta, apoi jos, apoi stânga. De fiecare dată faci același gest mic: „un pas în sus” înseamnă o linie mai sus, aceeași coloană; „un pas la dreapta” înseamnă aceeași linie, o coloană mai la dreapta. Fiecare direcție este, de fapt, doar o pereche de mici decalaje. Dacă scrii acele decalaje într-o listă, te poți plimba pe la toți vecinii cu un singur gând repetat, nu cu patru linii diferite de cod.
Intuiția
O celulă dintr-o matrice are o adresă: linia i și coloana j. Vecinul de sus are aceeași coloană, dar o linie mai sus — adică (i - 1, j). Vecinul din dreapta are aceeași linie, dar o coloană mai la dreapta — (i, j + 1). Observă tiparul: ca să ajungi la un vecin, aduni un decalaj la linie și un decalaj la coloană. Sus înseamnă „adună -1 la linie, 0 la coloană”. Dreapta înseamnă „adună 0 la linie, 1 la coloană”. O direcție nu e nimic mistic — e doar o pereche de două numere mici.