Комбинаторика: создание 10 групп из 100 элементов, в то время как элементы остаются отсортированными

У меня проблема с комбинаторикой. К сожалению, я не могу описать это абстрактно, поэтому я пытаюсь объяснить это как историю. :)

Проблема:

На школьном дворе 100 детей.Все они имеют уникальную высоту, при условии, что значения составляют 100-199см.Вы хотите построить 10 групп, каждая из которых состоит из 1-99 детей.Как вы можете построить все группы, в то время как дети должны быть отсортированы по росту?Мне нужны все возможные решения для этих групп, так как не сложно найти одно созвездие.

Коротко и просто:

Все 100 детей стоят рядом. Вы только должны решить, где разделить их на группы и найти все решения для этого.

Пример (значения являются высотами):

[120 ... 190 ... 199] ... [126 ... 137 ... 144 ... 188]это невозможно

[101] ... [104 ... 105 ... 112 ... 149] ... [169 ... 189]возможно

Я надеюсь, что вы можете мне помочь. Заранее большое спасибо!

PS: это не домашняя работа. ;) Обычно мне нужна функция, которая делает это с числами. Но я не мог описать это абстрактно как «построение k групп чисел, пока все числа отсортированы». Я думал, ты не поймешь это так. :) Лучше всего было бы найти решение в PHP, но я был бы рад увидеть решения и на других языках. :)

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

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