Пример #1
0
        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();
        }
Пример #2
0
 static void FirstFit(List <Item> items, Knapsack sack)
 {
     for (int i = 0; !sack.IsFull; i++)
     {
         sack.AddItem(items[i]);
     }
 }
Пример #3
0
        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]);
            }
        }