Kombinatoryka: Budowanie 10 grup po 100 elementów, podczas gdy elementy pozostają posortowane

Mam problem dotyczący kombinatoryki. Niestety, nie potrafię tego opisać abstrakcyjnie, więc staram się to wyjaśnić jako historię. :)

Problem:

Na boisku szkolnym jest 100 dzieci.Wszystkie mają unikalne wysokości, przy założeniu, że wartości wynoszą 100-199 cm.Chcesz zbudować 10 grup, każda składająca się z 1-99 dzieci.Jak możesz zbudować wszystkie grupy, podczas gdy dzieci muszą być sortowane według ich wysokości?Potrzebuję wszystkich możliwych rozwiązań dla tych grup, ponieważ nie jest trudno znaleźć jedną konstelację.

Krótkie i łatwe:

Wszystkie 100 dzieci stoi obok siebie. Musisz tylko zdecydować, gdzie podzielić je na grupy i znaleźć wszystkie rozwiązania.

Przykład (wartości są wysokościami):

[120 ... 190 ... 199] ... [126 ... 137 ... 144 ... 188]nie jest możliwe

[101] ... [104 ... 105 ... 112 ... 149] ... [169 ... 189]jest możliwe

Mam nadzieję że możesz mi pomóc. Z góry bardzo dziękuję!

PS: To nie zadanie domowe. ;) Normalnie potrzebuję funkcji, która robi to z liczbami. Ale nie mogłem opisać tego abstrakcyjnie jak „budowanie k grup liczb, gdy wszystkie liczby są sortowane”. Myślałem, że nie zrozumiesz tego w ten sposób. :) Rozwiązanie w PHP byłoby najlepsze, ale chętnie zobaczyłbym także rozwiązania w innych językach. :)

questionAnswers(2)

yourAnswerToTheQuestion