Pagini recente » Diferente pentru lucrul-cu-nr-mari intre reviziile 14 si 13 | Diferente pentru preoni-2007/runda-2/9 intre reviziile 5 si 4 | Diferente pentru probleme-cu-secvente intre reviziile 29 si 28 | Monitorul de evaluare | Diferente pentru grigore-moisil-2010/solutii/pietre2 intre reviziile 12 si 14
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)$
$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^)$.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.