De ce contează?
La șah, nebunul se mișcă mereu pe diagonală: din colțul lui pleacă oblic și atinge doar pătrate de o anumită culoare. Dacă te uiți la traseul lui, observi ceva: la fiecare pas crește cu unu și rândul, și coloana — sau crește unul și scade celălalt. Diagonala nu e o linie misterioasă, e o relație simplă între „al câtelea rând” și „a câta coloană”. Exact asta vom transforma în cod.
Intuiția
O matrice are rânduri (indicele i) și coloane (indicele j). O diagonală nu e
o linie aleatoare: e un drum oblic pe care, de la o celulă la următoarea, amândoi
indicii se mișcă deodată. Pe o diagonală „spre dreapta-jos” (numită principală)
i și j cresc împreună. Pe o diagonală „spre dreapta-sus” (numită secundară)
i crește în timp ce j scade. Cheia lecției: fiecare diagonală are o „semnătură”
numerică pe care o calculezi instant din indici — și ea nu se schimbă de la o celulă
la alta pe aceeași diagonală.
Pe o diagonală „/” (secundară), i crește și j scade cu aceeași cantitate, deci
suma i + j rămâne constantă. Pe o diagonală „\” (principală), i și j cresc
împreună, deci diferența i - j rămâne constantă. Asta e semnătura: același
număr pentru toate celulele unei diagonale.