у меня есть рекурсивное решение задачи о рюкзаке в Java, вот мой код:ранец рекурсивное решения с частью устанавливает
public class OptimalIncome{
final static int length[] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
final static int price[] = new int[] {1, 5, 8, 9, 10, 17, 17, 20, 24, 30};
public static int totalLength = 9;
public static int bestCut(int i, int totalLength){
if(i < 0){
return 0;
}
else if(length[i] > totalLength){
return bestCut(i - 1, totalLength);
}
else{
return Math.max(bestCut(i - 1, totalLength), bestCut(i - 1, totalLength - length[i]) + price[i]);
}
}
public static void main(String[] args){
System.out.println("Given total rod length : " + totalLength);
System.out.println("Maximum income : " + bestCut(price.length-1, totalLength));
System.out.println("Smaller part sets : ");
}
}
Он работает так же хорошо, как вы можете видеть, что я хочу, чтобы напечатать набор вариантов (меньшие части). Как я могу это сделать? Благодаря
'как вы можете видеть Я хочу напечатать набор вариантов (меньшие части)' не знаю, что вы имеете в виду в этом предложении. Что такое «набор выборов»? – amit
Вы хотите распечатать фактические выбранные объекты не только с помощью bestCut? –
Да, извините, я недостаточно хорошо объяснил проблему. Я хочу посмотреть, какие элементы выбирает программа для лучшего обрезания. – RedHood148