Pagini recente » Diferente pentru runda/bkariglijk intre reviziile 1 si 6 | Diferente pentru implica-te/scrie-articole intre reviziile 122 si 3 | Diferente pentru runda/simulare-cartita-31b intre reviziile 1 si 2 | Cod sursa (job #201317) | Diferente pentru grigore-moisil-2010/solutii/pietre2 intre reviziile 12 si 13
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.