2233: 拼数 splice.cpp

内存限制:128 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:3 通过:3

题目描述

[丛雨]有n张卡片,第i张卡片上有一个数字ai。丛雨在里面选出了 k张,按照某种顺序依次排列成一个数。
比如丛雨选出了3,13,1 这三张卡片,丛雨就可以排列成 3131,3113,
1331,1313,1133这五个数。你需要帮丛雨求出对于所有选出k张卡片的方案,丛雨总共能拼成多少种不同的数字?

输入格式

第一行两个整数n, k,表示卡片的个数和选出卡片的张数。
接下来一行n个空格分隔的整数 a1, … , an,表示每张卡片上的数字。

输出格式

输出一行一个整数,表示丛雨总共能拼成多少种不同的数字。

输入样例 复制

6 4
12 23 13 1 2 3

输出样例 复制

314

数据范围与提示

对于20%的数据,有1≤n≤6,k=1。
对于40%的数据,有1≤n≤6。
对于再20%的数据,所有数相同。
对于100%的数据,有1≤n≤10,1≤k≤4,1≤ai≤99。