lightoj 1122 - Digit Count(dp)

Time Limit: 2 second(s) Memory Limit: 32 MB

Given a set of digits S, and an integer n, you have to find how many n-digit integers are there, which contain digits that belong to S and the difference between any two adjacent digits is not more than two.

Input

Input starts with an integer T (≤ 300), denoting the number of test cases.

Each case contains two integers, m (1 ≤ m < 10) and n (1 ≤ n ≤ 10). The next line will contain m integers (from 1 to 9) separated by spaces. These integers form the set S as described above. These integers will be distinct and given in ascending order.

Output

For each case, print the case number and the number of valid n-digit integers in a single line.

Sample Input

Output for Sample Input

3

3 2

1 3 6

3 2

1 2 3

3 3

1 4 6

Case 1: 5

Case 2: 9

Case 3: 9

Note

For the first case the valid integers are

11

13

31

33

66

题意:给你一些数字1~9不重复,这些数可以无限使用,问你可以构成多少种给n位数,并且满足相邻的两位数差值不超过2。
思路:dp[i][j]表示第i位为j的方案数,最后累加dp[n][j]就可以的了,这个dp比较简单。

你可能感兴趣的:(lightoj 1122 - Digit Count(dp))