题目翻译
题目描述:
对于一个正整数 m,将其划分为 n 个元素(n≤m)的分区定义为一个由正整数构成的序列 a1,a2,…,an,满足以下条件:
- a1+a2+…+an=m,
- a1≤a2≤…≤an。
你的任务是找到 m 的一个划分为 n 个元素的分区,使其在所有可能的分区按字典序排列时位于第 k 个位置。
字典序的定义如下:
对于两个分区 a=[a1,a2,…,an] 和 b=[b1,b2,…,bn],我们称 a<b 当且仅当存在某个 1≤i≤n,使得对于所有 j<i,有 aj=bj,且 ai<bi。所有分区按字典序升序排列,最前面的分区是 [1,1,…,1,m−n+1]。
输入格式:
- 第一行输入一个整数 c,表示测试用例的数量。
- 接下来的 c 行,每行包含三个整数:m(1≤m≤220)、n(1≤n≤10)和 k(k 不超过 m 划分为 n 个元素的分区总数)。
输出格式:
对于每个测试用例,输出第 k 个分区,每个元素占一行。
输入样例 1:
2
9 4 3
10 10 1
输出样例 1:
1
1
3
4
1
1
1
1
1
1
1
1
1
1