class Item { public int weigth; public int price; } static int KProblem(int MaxCapacity, Item[] items) { int maxValue = 0; int n = items.Length; int space = 0; //剩余空间 for (int i = 0; i < n; i++) { space = MaxCapacity - items[i].weigth; if (space > 0) { int t = KProblem(space, items) + items[i].price; if (t > maxValue) { maxValue = t; } } } return maxValue; } //csharp/7209