[ Krejmer @ 20.05.2010. 14:53 ] @
Ljudi treba mi pomoć oko ovog algoritma,ne mogu da ga shvatim baš najbolje,ustvari ne mogu ni da nađem kod na internetu u Pascalu. Nešto sam probao,ali ne ide.Inače ovo sam radio na principu jednog pseudokoda,ali izgleda da ga nisam dobro shvatio.(ili čak to nije možda ni tačno). E sad,ovaj kod ne da je spor,nego nekad ni neće najjednostavniji primjer da uradi. Code: program knepsek; type ObicniNiz=array[1..100] of integer; var v,z:ObicniNiz; M:ObicniNiz; n,i,j,k,W:integer; max:integer; begin readln(W,n); //W je zapremina ranca,n je broj predmeta //unosenje vrijednosti for i:=1 to n do begin readln(z[i],v[i]); //z je zapremina i-tog predmeta,v je vrijednost end; //glavni dio for j:=1 to W do begin M[j]:=0; k:=0; for i:=1 to n do begin for j:=w downto 1 do begin if M[j-z[i]]+v[i]>M[j] then M[j]:=M[j-z[i]]+v[i] ; if M[j]>max then max:=M[j]; //cuvam max end; end; end; writeln(max); readln; end. |