给定M(0<M<=30)个字符 (a-z),从中取出任意字符 (每个字符只能用一次)拼接成长度为N(0<N<=5)的字符串,要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串,输入非法或者无法拼接出满足条件的字符串则返回0。
输入描述
给定的字符列表和结果字符串长度,中间使用空格("“)拼接
输出描述
满足条件的字符串个数
不
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
abc 1
说明
给定的字符为a,b,c,结果字符串长度为1,可以拼接成a,b,c,共3种
示例2
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
dde 2
输出
说明
给定的字符为dde,结果字符串长度为2,可以拼接成
Java版本
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine().trim();
String[] input = line.split(" ");
String str = input[0];
int num = Integer.parseInt(input[1]);
if (!str.matches("[a-z]+") || str.length() > 30 || n