Алгоритмы перестановки в C #

Я борюсь с этим алгоритмом, который мне нужно написать. Я использую C #.

Скажи у меня естьList<Bag> и у меня естьList<Lunch>, Мне нужно написать алгоритм, который будет перечислять все перестановки обедов во всех пакетах.

Например, скажем, есть 3 обеда и 2 пакета:

// Permutation 1
Bag 1, Lunch 1
Bag 2, Lunch 1

// Permutation 2
Bag 1, Lunch 1
Bag 2, Lunch 2

// Permutation 3
Bag 1, Lunch 1
Bag 2, Lunch 3

// Permutation 4
Bag 1, Lunch 2
Bag 2, Lunch 1

// Permu,tation 5
Bag 1, Lunch 2
Bag 2, Lunch 2

// Permutation 6
Bag 1, Lunch 2
Bag 2, Lunch 3

// Permutation 7
Bag 1, Lunch 3
Bag 2, Lunch 1

// Permutation 8
Bag 1, Lunch 3
Bag 2, Lunch 2

// Permutation 9
Bag 1, Lunch 3
Bag 2, Lunch 3

Две перестановкиBag 1 Lunch 1 and Bag 2 Lunch 2 а такжеBag 1 Lunch 2 and Bag 2 Lunch 1 отличаются, потому что сумки имеют разные емкости, следовательно, они оба должны быть перечислены.

Количество сумок и обедов может быть любым.

Я создал класс под названиемBagLunch который содержит сумку и пару обеда. Список примеров, который я дал выше, будет сохранен вList<BagLunch>.

Спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос