Возможное размещение в номере - PullRequest
0 голосов
/ 11 сентября 2018

В основном мне нужно сгенерировать все возможные комбинации с комнатами.

Например:

+-----------+----------+--------------------------+
| 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Трипло

Любые намеки, как этого можно достичь?

...