Pagini recente » Diferente pentru utilizator/opportunity intre reviziile 7 si 6 | Istoria paginii utilizator/iarinca_roberta | Profil 1gabriellae651gM3 | Monitorul de evaluare | Diferente pentru grigore-moisil-2010/solutii/pietre2 intre reviziile 13 si 12
Nu exista diferente intre titluri.
Diferente intre continut:
unde şirurile $x$ şi $y$ au valorile:
$x = (-1,0,1,0)$
$y = (0,1,0,-1)$
*Soluţie 3*
Problema se poate rezolva şi în complexitatea $O(N^2^)$ folosind memoizarea. Astfel, vom calcula pentru fiecare element al matricii cât se poate urca dacă pornim din elementul respectiv. Pseudocodul funcţiei care calculează pentru fiecare element cât se poate urca dacă pornim din elementul respectiv arată astfel:
== code(cpp) |
funcţie din(i, j):
dacă(D[i][j] != 0) atunci
returnează D[i][j]
sfârşit dacă
D[i][j] = 1
pentru fiecare vecin (i', j') al perechii (i, j) execută:
dacă A[i][j] + 1 = A[i'][j'] şi D[i][j] < din(i', j') + 1 atunci
D[i][j] = din(i', j') + 1
sfârşit dacă
sfârşit pentru
Sfârşit(din)
==
Se observă că fiecare pentru fiecare element al matricii, funcţia este apelată de un număr constant de ori, deci complexitatea algoritmului este $O(N^2^)$.
$y = (0,1,0,-1)$
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.