#467. 部分排列

部分排列

题目描述

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

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

输入格式

一行,包含两个整数 nnkk,用空格分隔。

输出格式

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

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

样例

3 2
6
12
13
21
23
31
32

数据范围

子任务 分值 数据范围 特殊性质
1 30 n6n \le 6knk \le n
2 70 n9n \le 9knk \le n