Задача №3784. Генерация размещений
Напомним, что размещения из n по k — выборки по k элементов из n возможных, причём порядок элементов в выборке важен («1 2» отличается от «2 1»).
Например, полный перечень всех возможных размещений из 3 по 2: (1,2), (1,3), (2,1), (2,3), (3,1), (3,2).
Напишите программу, которая по заданным n и k будет генерировать все возможные размещения из чисел 1, 2, ..., n по k. Размещения должны выводиться в лексикографическом (словарном) порядке.
В единственной строке через пробел заданы два числа — сначала n, потом k. Выполняются условия: k ≤ n ≤ 20; 1 ≤ k ≤ 7; количество искомых размещений Ank не превышает 104.
Выведите найденные размещения, каждое в отдельной строке, в лексикографическом порядке. Внутри строки числа должны отделяться друг от друга единичными пробелами; лишние пробелы (в т. ч. перед первым и/или после последнего числа строки) запрещены.
В данной задаче надо строго придерживаться формата вывода, т. к. засчитываться будут только точные совпадения байт-в-байт.
3 2
1 2 1 3 2 1 2 3 3 1 3 2