如果一個自然數N的K進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是K好數。求L位K進制數中K好數的數目。例如K = 4,L = 2的時候,所有K好數爲11、13、20、22、30、31、33 共7個。由於這個數目很大,請你輸出它對1000000007取模後的值。
數據規模與約定
對於30%的數據,KL <= 106;
對於50%的數據,K <= 16, L <= 10;
對於100%的數據,1 <= K,L <= 100。
輸入格式:
輸入包含兩個正整數,K和L。
輸出格式:
輸出一個整數,表示答案對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)