Príklad na dynamické programovanie
Created: 2008-06-19 - 17:00
Nuz islo tu o to, ze mate maticu MxN a v nej mate nerovnomerne rozmiestneny urcity pocet jablk. Zacinate v lavom hornom rohu a ulohou programu je zistit kedy sa da nazbierat najviac jablk, ak sa da pohybovat len smerom dole a smerom doprava. T.z. najst taku cestu do praveho dolneho rohu, aby bol pocet nazbieranych jablk maximalny...
import java.util.Scanner; public class jablka { /** * @param args */ static int m,n; // matica M krat N static int[][] matica ; // matica static int[][] pomocna ; // matica static char[][] cesta ; // matica cesty ze skade prisiel vysledok public static void jablka2(){ nacitaj(); for (int i = 0; i < m; i++) { if((i-1)<0) pomocna[i][0] = matica[i][0]; else { pomocna[i][0] = pomocna[i-1][0]+matica[i][0]; cesta[i][0]= 'H'; } } for (int i = 0; i < n; i++) { if((i-1)<0) pomocna[0][i] = matica[0][i]; else { pomocna[0][i] = pomocna[0][i-1]+matica[0][i]; cesta[0][i] = 'L'; } } for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { if(pomocna[i-1][j]