PTA21、K好數 (10 分)

 

如果一個自然數NK進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是K好數。求LK進制數中K好數的數目。例如K = 4L = 2的時候,所有K好數爲11132022303133 7個。由於這個數目很大,請你輸出它對1000000007取模後的值。

數據規模與約定

對於30%的數據,KL <= 106

對於50%的數據,K <= 16 L <= 10

對於100%的數據,1 <= K,L <= 100

輸入格式:

輸入包含兩個正整數,KL

輸出格式:

輸出一個整數,表示答案對1000000007取模後的值。

輸入樣例:

在這裏給出一組輸入。例如:

4 2

輸出樣例:

在這裏給出相應的輸出。例如:

7

 

su=0

MOD=1000000007

k,l=map(int,input().split())

if 1<=k<=100 and 1<=l<=100:

    arry_num=[[0]*1000 for i in range(l+1)]

    for i in range(0,k):

        arry_num[1][i]=1

    for i in range(2,l+1):

        for j in range(0,k):

            for m in range(0,k):

                if j!=m+1 and j!=m-1:

                    arry_num[i][j] = (arry_num[i][j]+arry_num[i-1][m])%MOD

    for i in range(1,k):

        su  = (su+arry_num[l][i])%MOD

    print(su)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章