藍橋 K好數 動態規劃

2021-10-05 05:46:34 字數 982 閱讀 7020

題目描述

如果乙個自然數n的k進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是k好數。求l位k進製數中k好數的數目。例如k = 4,l = 2的時候,所有k好數為11、13、20、22、30、31、33 共7個。由於這個數目很大,請你輸出它對1000000007取模後的值。

輸入

輸入包含兩個正整數,k和l。

輸出

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

樣例輸入

4 2樣例輸出

7話都在酒裡了,注釋都在**裡了。

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

//dp[i][j]表示i位數,最高位為j的有幾種

//處理的過程中把最高位為0的情況也算上

//最後統計的時候不計算dp[l][0]就行

ll dp[

105]

[105];

int l, k;

intmain()

for(

int i=

2; i<=l; i++

) dp[i]

[j]+

=dp[i-1]

[cur]

; dp[i]

[j]%

=1000000007;}

}}int ans=0;

for(

int j=

1; j)printf

("%lld"

, ans)

;return0;

}

藍橋杯 K好數(動態規劃,C )

問題描述 如果乙個自然數n的k進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是k好數。求l位k進製數中k好數的數目。例如k 4,l 2的時候,所有k好數為11 13 20 22 30 31 33 共7個。由於這個數目很大,請你輸出它對1000000007取模後的值。輸入格式 輸入包含...

K好數(動態規劃)

問題描述 如果乙個自然數n的k進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是k好數。求l位k進製數中k好數的數目。例如k 4,l 2的時候,所有k好數為11 13 20 22 30 31 33 共7個。由於這個數目很大,請你輸出它對1000000007取模後的值。輸入格式 輸入包含...

藍橋杯 演算法訓練 K好數 (動態規劃)

演算法訓練 k好數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如果乙個自然數n的k進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是k好數。求l位k進製數中k好數的數目。例如k 4,l 2的時候,所有k好數為11 13 20 22 30 31 33 共7個。由於這個數目...