Задача №3348. Сумма (AB)
Рассматриваются все разбиения натурального числа \(N\) на сумму \(К\) неотрицательных слагаемых (\(1 \leq N \leq 32\), \(2 \leq K \leq 32\)). Суммы, отличающиеся только порядком слагаемых, считаем различными. Упорядочим все разбиения по убыванию первого слагаемого, а при равных первых слагаемых – по убыванию второго слагаемого, а при равных первых и вторых слагаемых – по убыванию третьего слагаемого и т. д. Пронумеруем их. Например, при \(N=4\), \(К=3\) имеем:
Номер | 1 слагаемое | 2 слагаемое | 3 слагаемое |
---|---|---|---|
1 | 4 | 0 | 0 |
2 | 3 | 1 | 0 |
3 | 3 | 0 | 1 |
4 | 2 | 2 | 0 |
5 | 2 | 1 | 1 |
6 | 2 | 0 | 2 |
7 | 1 | 3 | 0 |
8 | 1 | 2 | 1 |
9 | 1 | 1 | 2 |
10 | 1 | 0 | 3 |
11 | 0 | 4 | 0 |
12 | 0 | 3 | 1 |
13 | 0 | 2 | 2 |
14 | 0 | 1 | 3 |
15 | 0 | 0 | 4 |
В первой строке входного файла записана последовательность чисел. Если первое число \(0\), то необходимо найти разбиение по номеру, а если \(1\), то номер по разбиению. В первом случае далее в файле записано количество слагаемых, сумма и номер разбиения. Во втором случае далее в файле записано количество слагаемых \(K\) и затем разбиение (\(K\) неотрицательных чисел, сумма которых \(N\)). Все числа разделены пробелами.
Выведите в выходной файл разбиение либо номер.
0 3 4 9
1 1 2
1 3 0 1 3
14