В основном мне нужно сгенерировать все возможные комбинации с комнатами.
Например:
+-----------+----------+--------------------------+
| Room Type | Quantity | Sub quantity from Double |
+-----------+----------+--------------------------+
| Double | 10 | X |
+-----------+----------+--------------------------+
| Single | 5 | 5 |
+-----------+----------+--------------------------+
| Triple | 3 | 10 |
+-----------+----------+--------------------------+
Если мы посмотрим только столбец Количество, я могу сгенерировать все комбинации с помощью функции декартовой , и результат будет примерно следующим:
- 1Двойной 1Одной 1Тройной
- 2DДвух 1Одной 1Тройной
- .................
Но самая сложная часть относится к последнему столбцу, который напоминает «виртуальные» комнаты.Он показывает, сколько двухместных номеров можно использовать как одноместные и трехместные.
Опять же из примера мы можем использовать 5 из 10 двухместных номеров как одноместные и 10 из 10 двухместных номеров как трехместные.
Результат с учетом мест размещения в последнем столбце должен выглядеть примерно так:
- 1Одно 0Двух 9Трипл
- 2Одно 0Двух 8Трипл
- 2Одно 1Двое 7Трипло
Любые намеки, как этого можно достичь?