public static void Main() { Console.WriteLine("Enter M and N"); string[] knapsackParts = Console.ReadLine().Split(' '); int M = int.Parse(knapsackParts[0]); int N = int.Parse(knapsackParts[1]); Knapsack knapsack = new Knapsack(M, N); Console.WriteLine("Enter {0} items with cost and weight", N); for (int i = 0; i < N; i++) { string[] itemParts = Console.ReadLine().Split(' '); int cost = int.Parse(itemParts[0]); int weight = int.Parse(itemParts[1]); Item item = new Item(cost, weight); knapsack.AddItem(item); } Console.WriteLine(); KnapsackProblemSolver solver = new KnapsackProblemSolver(knapsack); solver.Solve(); }
static void FirstFit(List <Item> items, Knapsack sack) { for (int i = 0; !sack.IsFull; i++) { sack.AddItem(items[i]); } }
static void LargestToSmallest(List <Item> items, Knapsack sack) { items = items.OrderBy(x => x.Weight).Reverse().ToList(); for (int i = 0; !sack.IsFull; i++) { sack.AddItem(items[i]); } }