暑假選拔賽01 數字問題

2021-07-03 19:45:35 字數 794 閱讀 8283

大家對進製一定很清楚,如果乙個數字是a進製表示,則它的每一位數字小於a。現在定義一種奇異數字,假設它是a進製,它的每一位與它左邊、右邊的數字都不是相鄰。現在問題是,求解b位a進製的所有整數中奇異數字的個數。比如a=3,b=2,奇異數字就有11 20 22 三個,所以結果是3.

輸入兩個正整數a(1<=a<=100)和b(1<=b<=100).

輸出乙個整數,結果對1000000007取模。

3 2

數字dp;

dp[i][j]表示第i位上數字為j的方案數.

狀態轉移方程:

當 j != k+1 && j != k-1時, dp[i][j] += dp[i-1][k];

#include 

#include

#define mod 1000000007

#define maxn 110

typedef __int64 ll;

ll dp[maxn][maxn];

int main()

ll ans = 0;

for (int i = 0;i < a;i++)

ans = (ans+dp[b][i])%mod;

printf("%i64d\n",ans);

return

0;}

暑假選拔賽01 code

ytaaa使用一種特殊的編碼方式來加密英文本串,即a 1,b 2,z 26 ytaaa很快發現相同密文可解讀為不同的原字串。ytaaa想知道,對於乙個密文,共有多少種解讀方式。如26可以解讀為 bf或z。輸入包括多組資料,資料僅由數字組成。數字位數最大為1000000,輸入資料保證合法。輸出每行乙個...

暑假選拔賽02 最大乘積

給出正整數n和m,把n拆成m個非負整數之和,使得這m個數的乘積最大。輸出乘積對1000000007取模的結果。輸入第一行為乙個正整數t,表示有t組測試資料。接下去t行,每行為一組資料。每行兩個正整數n m,含義如上。n在32位signed int範圍內,m 100000,t 100。每組資料一行,輸...

選拔賽總結

時間限制 1 sec 記憶體限制 512 mb 提交 18 解決 9 提交 狀態 討論版 命題人 admin 題目描述 手機端qq推出了貼表情的新功能,復讀機勢力再次猖狂起來,她們把表情貼的到處都是!裙主決定把被復讀次數最多的表情從聊天記錄中刪去。聊天框是乙個大小為n x m的黑白點陣。背景色是白色...