Входные данные: два целых числа n и k, заданные в любой форме, удобной для вашего кода
Выходные данные Случайная неубывающая последовательность из k целых чисел, каждое из которых находится в диапазоне от 1 до n. Выборка должна выбираться равномерно из всех неубывающих последовательностей из k целых чисел с целыми числами в диапазоне от 1 до n.
Вывод может быть в любом удобном для вас формате.
Вы можете использовать любой псевдослучайный генератор, который предоставляет ваша любимая библиотека / язык.
Можно предположить, что целые числа n, k> 0.
пример
Скажите n, k = 2. Неубывающие последовательности
1,1
1,2
2,2
Каждая последовательность должна иметь вероятность 1/3 вывода.
ограничение
Ваш код должен выполняться не более, чем за несколько секунд для k = 20 и n = 100.
Что не работает
Если вы просто случайным образом выберете каждое целое число из диапазона от 1 до n, а затем отсортируете список, вы не получите равномерного распределения.