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

2021-07-10 06:07:15 字數 927 閱讀 5173

演算法訓練 k好數  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

如果乙個自然數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

資料規模與約定

對於30%的資料,kl

<= 106;

對於50%的資料,k <= 16, l <= 10;

對於100%的資料,1 <= k,l <= 100。

對動態規劃還是不熟悉,完全看不出來,要多練啊。

參考部落格:   感謝!!

#include #include#include #include const int mod = 1000000007;

using namespace std;

int main()

memset(dp, 0, sizeof(dp));

int i, j, r;

for(i = 0; i < k; i++)

for(i = 2; i < l; i++)

dp[i][j] = count;

} }int sum = 0;

for(j = 1; j < k; j++)

sum = (sum + count) % mod;//相加即得到總數。

} printf("%d\n", sum);

return 0;

}

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

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

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

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

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

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