第十一屆藍橋杯第三場軟體類省賽 C 題解

2021-10-25 08:52:42 字數 2615 閱讀 5925

a 市的車牌由六位組成,其中前三位可能為數字 0 至 9,或者字母 a 至 f,每位有 16 種可能。後三位只能是數字 0 至 9。為了減少攀比,車牌中不能有連續三位是相同的字元。

例如,202020 是合法的車牌,aaa202 不是合法的車牌,因為前三個字母相同。

請問,a 市有多少個合法的車牌?

暴力列舉每一位的所有情況

16 * 16 * 16 * 10 * 10 * 10 = 4096000情況很少

#include

using namespace std;

int a[10]

;int ans =0;

void

dfs(

int u)

int up = u <3?

16:10;

for(

int i =

1;i <= up;i++)}

intmain()

小藍想知道,一共可以找到多少個上公升子串。小藍的矩陣很大,已經放在了試題目錄下面,叫 inc.txt。為了更清楚的

描述問題,他還找了乙個很小的矩陣用來解釋。

例如,對於矩陣:

ab

bc

可以找到 4 個長度為 1 的上公升子串、4 個長度為 2 的上公升子串、2 個長度

為 3 的上公升子串,共 10 個。

現在,請你對於小藍的大矩陣,找到上公升子串的數量。

對於每乙個位置,我們有兩種情況,一種是取自己,另外一種是取自己 和周圍比他小,即周圍比他小的方案數總和

需要手動調整n,m大小

#include

#include

using namespace std;

const

int n =

110;

char g[n]

[n];

long

long f[n]

[n];

int n =

100,m =

100;

long

long ans =0;

int dx=

;int dy=

;long

long

dfs(

int x,

int y)

return f[x]

[y];

}int

main()

for(

int i =

0;i < n;i++

)for

(int j =

0;j < m;j++

) cout << ans

}

【問題描述】

在夢境中,你踏上了乙隻木筏,在江上漂流。根據對當地的了解,你知道在你下游 d 公尺處有乙個峽谷,如果你向下游前

進大於等於 d 公尺則必死無疑。現在你打響了急救**,t 秒後救援隊會到達並將你救上岸。水流速度是1 m/s,你現在有 m 點體力。每消耗一點體力,你可以劃一秒槳使船向上游前進 1m,否則會向下游前進 1m (水流)。m 點體力需在救援隊趕來前花光。因為江面太寬了,憑藉你自己的力量不可能上岸。請問,有多少種划槳的方案可以讓你得救。

兩個划槳方案不同是指:存在某一秒鐘,乙個方案划槳,另乙個方案不划。

【輸入格式】

輸入一行包含三個整數 d, t, m。

【輸出格式】

輸出乙個整數,表示可以讓你得救的總方案數,答案可能很大,請輸出方

案數除以 1, 000, 000, 007 的餘數。

【樣例輸入】

1 6 3

【樣例輸出】

5

【評測用例規模與約定】

對於 50% 的評測用例,1 ≤ t ≤ 350。

對於所有評測用例,1 ≤ t ≤ 3000, 1 ≤ d ≤ t, 1 ≤ m ≤ 1500。

我們可以發現,每i秒之間的狀態是固定的(在哪個可達位置)所以這些可達狀態必然是從上一層的合法方案的i+1秒或i-1秒到達的所以可以用乙個dp.

f[i][j] 表示在第i秒在位置k的方案數

f[i][j] = f[i - 1][j - 1] + f[i - 1][j + 1]

每層計算需要卡i的區間即可

#include

using namespace std;

const

int n =

3010

,m =

60010

,k =

3000

,mod =

1e9+7;

int f[n]

[m];

intmain()

}long

long ans =0;

// 統計所有的可能

for(

int j = k + n -

min(

2* n,

2* m)

;j <=

min(k + n,k + d -1)

;j++

) cout << ans

}

第十一屆藍橋杯

問題描述 小藍要為一條街的住戶製作門牌號。這條街一共有 2020 位住戶,門牌號從 1 到 2020 編號。小藍製作門牌的方法是先製作 0 到 9 這幾個數字字元,最後根據需要將字 符貼上到門牌上,例如門牌 1017 需要依次貼上字元 1 0 1 7,即需要 1 個 字元 0,2 個字元 1,1 個...

第十一屆藍橋杯省賽 走方格

時間限制 1.0s 記憶體限制 512.0mb 本題總分 20 分 問題描述 在平面上有一些二維的點陣。這些點的編號就像二維陣列的編號一樣,從上到下依次為第 1 至第 n 行,從左到右依次為第 1 至第 m 列,每乙個點可以用行號和列號來表示。現在有個人站在第 1 行第 1 列,要走到第 n 行第 ...

第十一屆藍橋杯省賽題 解碼

問題描述 小明有一串很長的英文本母,可能包含大寫和小寫。在這串字母中,有很多連續的是重複的。小明想了乙個辦法將這串字母表 達得更短 將連續的幾個相同字母寫成字母 出現次數的形式。例如,連續的 5 個 a,即 aaaaa,小明可以簡寫成 a5 也可能簡寫成 a4a aa3a 等 對於這個例子 hhhe...