Pagini recente » Dinozaur | Paznici 3 | partii | Diferente pentru utilizator/tudorv96 intre reviziile 64 si 65 | Diferente pentru grigore-moisil-2010/solutii/pietre2 intre reviziile 6 si 7
Nu exista diferente intre titluri.
Diferente intre continut:
Soluţia se bazează pe observaţia că dacă vom procesa înălţimile în ordine crescătoare, atunci vom putea actualiza un drum de lungime maximă ce se termină în fiecare din aceste pătrăţele în mod corect.
Astfel, algoritmul va sorta crescător toate cele $n^2^$ pătrăţelele :
== code(cpp) |
== code(cpp) |
Algoritm Rezolvă(n):
pentru fiecare (h, i, j) execută: // pătrăţelul (i, j) cu înălţimea h
pentru fiecare vecin (h’, i’, j’) cu h = h’ + 1 execută:
În implementare se va ţine cont ca pătrăţelele de pe marginea matricei care sunt puncte de plecare să fie marcate iniţial cu $0$.
Complexitate: $O(N^2^ log(N))$.
Rezolvare 2
Rezolvare $2$
Problema, în ciuda faptului că limita pentru n este mare, se putea aborda şi cu backtracking. Cu o rezolvare asemănătoare cu cea de mai jos se putea obţine $90$ puncte.
În programul principal:
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.