[ steki96 @ 09.01.2014. 17:24 ] @
Moze neko da mi da mi resi zadatak maksimalne sume nesusednih u nizu ,po mogucstvu i da obijasi ideju ili samo da da ideju...u pitanju je dinamicko programiranje(kod u c++) i KOJA JE FORA SA OVIM ZADACIMA |
[ steki96 @ 09.01.2014. 17:24 ] @
[ djoka_l @ 09.01.2014. 22:01 ] @
Mogao si malo bolje da objasniš, ali evo kako sam ja shvatio.
Recimo da imaš niz od 5 elemenata {1,2,3,4,5}. Susedni od 1 je 2, susedni od 2 su 1 i 3, susedni od 3 su 2 i 4, susedni od 4 je 5 i susedni od 5 je 4 treba naći max( sumnesusednih( {}, 1, {3,4,5}), sumnesusednih( {}, 2, {4,5}), sumnesusednih( {1}, 3, {5}), sumnesusednih( {1,2}, 4, {}), sumnesusednih( {1,2,3}, 5, {}) ) Dakle sumnesusednih ima 3 parametra, levi niz nesusednih elemata, centrali element i desni niz nesusednih elemenata, s tim da neki od ovih nizova može biti prazan. Ukoliko niz nije prazan, on nadalje treba da da sve kombinacije nesusednih. Pogledaj poslednji poziv f-je sumnesusednih( {1,2,3}, 5, {}) ovo dalje treba da se radi kao retrun 5+max( sumnesusednih({}, 1, {3}), sumnesusednih({}, 2, {}), sumnesusednih({1}, 3, {}) ) prvi sum treba da vrati 1+3, drugi 2, treći 1+3 pa je onda max=9 za elemente 1,3,5 Ovo je ideja, a ti to pretvori u c++ kod. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|