为了更好的阅读体检,可以查看我的算法学习网
在线评测链接:P1273
题目内容
塔子哥是一位热心的数学老师,他每年都会给他的学生们准备一些有趣的数学问题,作为圣诞节的礼物。今年,他准备了 n n n 件无差别的小礼物,比如钢笔、橡皮、尺子等。他想要正常分给他的 k k k 个学生,,并且不会有剩余的礼物。
但是塔子哥有点困惑,因为他不知道如何分配这些礼物。他想到了你,他的助教,也是一位数学高手。他决定把这个问题交给你,希望你能帮他找到一个能够将 n n n 个无差别的礼物分给 k k k 个学生的分法。
输入描述
输入仅一行,包含两个整数 n n n 和 k k k , n n n 表示礼物的数量, k k k 表示小朋友的数量。( 0 ≤ n ≤ 10 0\le n \le 10 0≤n≤10 , 1 ≤ k ≤ 10 1\le k \le 10 1≤k≤10 )
输出描述
第一行输出分法总数 t t t 。
后续
t
t
t 行依次列出每种分法,每件礼物用字符 *
(ascii码为
42
42
42 )表示,用字符 |
(ascii码为
124
124
124 ) 分隔小朋友,按照ascii码从小到大输出。
具体输出和顺序请参考样例。
样例
输入
3 2
输出
4
***|
**|*
*|**
|***
样例解释
第一行表示 3 3 3 件礼物分给 2 2 2 个小朋友的分法一些有 4 4 4 种;
第二行表示第一个小朋友分有
3
3
3 件礼物,第二个小朋友无礼物,以 |
分隔;
第三行表示第一个小朋友分有
2
2
2 件礼物,第二小朋友分有
1
1
1 件礼物,以 |
分隔;
第四行表示第一个小朋友分有
1
1
1 件礼物,第二个小朋友分有
2
2
2 件礼物,以 |
分隔;
第五行表示第一个小朋友无礼物,第二小朋友分有
3
3
3 件礼物,以 |
分隔。