undefined_error_'s blog

By undefined_error_, history, 5 years 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. :)

| Write comment?
»
5 years 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.

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thanks man. I changed the dp dimension but still it doesnt works.

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      To [15][15][10^9] ?

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Yes.

        • »
          »
          »
          »
          »
          5 years ago, # ^ |
            Vote: I like it +1 Vote: I do not like it

          Yes because that's too much memory.

          Would it help if i edit your code ?

          • »
            »
            »
            »
            »
            »
            5 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            Sure, it would be great if you can explain the solution with code. Thanks :)

            • »
              »
              »
              »
              »
              »
              »
              5 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              https://ideone.com/inpadg

              Should work now , feel free to ask any question :D

              • »
                »
                »
                »
                »
                »
                »
                »
                5 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                Why we didnt call another call in line 58 like solve(i,a[j]) thats mean either either i take the digit or cannot take. shoudn't be like this?

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  5 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  If i don't take it then i should try another one , that's what the loop is doing ,it tries everything.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  5 years ago, # ^ |
                    Vote: I like it +1 Vote: I do not like it

                  Ohh. Yes got it man. Thanks again.

              • »
                »
                »
                »
                »
                »
                »
                »
                5 years ago, # ^ |
                Rev. 2   Vote: I like it +1 Vote: I do not like it

                All other parts are clear thanks a lot man. Also can you suggest me this type of dp. Where i can learn new things gradually. Thanks. :)