#467. 部分排列

部分排列

题目描述

输入两个整数 nn 和 kk,从 11 到 nn 这 nn 个数字中选出 kk 个不相同的数字,将它们组成 kk 位数。要求输出所有可能的 kk 位数,并输出总数。

排列与顺序有关,例如 123123、132132 是两个不同的排列;组合与顺序无关,例如 123123、132132 属于同一种组合。

输入格式

一行,包含两个整数 nn 和 kk,用空格分隔。

输出格式

第一行输出一个整数,表示满足条件的 kk 位数的总数。

接下来,每一行输出一个满足条件的 kk 位数,数字之间没有分隔,按从小到大的字典序输出。

样例

3 2
6
12
13
21
23
31
32

数据范围

子任务 分值 数据范围 特殊性质
1 30 n≤6n \le 6,k≤nk \le n 无
2 70 n≤9n \le 9,k≤nk \le n