Пусть есть k ящиков, пронумерованных числами от 1 до k, и
N абсолютно одинаковых шаров. Рассмотрим всевозможные способы
распределения шаров по ящикам так, чтобы все шары были распределены по ящикам, и
ни один ящик при этом не был пуст. Каждое размещение будем задавать набором из
k чисел, показывающих, сколько шаров находится в каждом из ящиков. Все
размещения упорядочим в лексикографическом порядке, т.е., например, при
N=5, k=3 размещения будут идти в следующем порядке:
INPUT.TXT | OUTPUT.TXT | |
5 3 2 1 2 |
4 |
Во входном файле задано число N. Вывести все перестановки из N элементов так, чтобы любые две соседние перестановки отличались перестановкой двух соседних элементов.
INPUT.TXT | OUTPUT.TXT |
3 |
1 2 3 1 3 2 3 1 2 3 2 1 2 3 1 2 1 3 |