_badass_'s blog

By _badass_, history, 4 weeks ago, In English,

Hy, I am trying solve the problem but not the full problem firstly I am trying to solve the sub part which is I want to count the number of digit which length is n but all digit in n is unique and every digit between difference is maximum 2. After that I will go through the main part of the problem. But the first part of my code doesn't work.

My code idea : I want to count the number of integer with n length from the set of digits s. but My code doesn't work properly. :)

My code link: http://ideone.com/KLcphT

It would be great if u tell me which I am missing.

Full problem: 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

Thanks a lot. And sorry for my really really poor English. :)

 
 
 
 
  • Vote: I like it
  • 0
  • Vote: I do not like it

»
4 weeks ago, # |
  Vote: I like it +1 Vote: I do not like it

Hello , your problem here is that "dg" can be up to 10^9 however your dp dimensions for the third dimension is just 15 .

The function "oka" that verify if the built n-digits is valid or not is not needed at all since you can check that ongoing if you pass the last taken digit as a paramater , so that will suit your dp dimensions that you did set , hope this helped.