第十一届蓝桥杯第三场软件类省赛 C++ 题解

试题 C: 车牌

A 市的车牌由六位组成,其中前三位可能为数字 0 至 9,或者字母 A 至 F,每位有 16 种可能。后三位只能是数字 0 至 9。为了减少攀比,车牌中不能有连续三位是相同的字符。

例如,202020 是合法的车牌,AAA202 不是合法的车牌,因为前三个字母相同。

请问,A 市有多少个合法的车牌/p>

答案:4002750

思路

暴力枚举每一位的所有情况
情况很少

代码

试题 E: 上升子串

小蓝有一个字母矩阵,他喜欢和小伙伴们在这个矩阵上玩一些游戏。今天,他打算玩找上升子串的游戏。游戏是合作性质的。小蓝和小伙伴们首先要在矩阵中指定一个位置,然后从这个位置开始,向上下左右相邻位置移动,移动必须满足所到达位置上的字母比当前位置大。小蓝和小伙伴们可以移动任意多次,也可以随时停下来,这样就找到了一个上升子串。只要子串在矩阵中的位置不同,就认为是不同的子串。

小蓝想知道,一共可以找到多少个上升子串。小蓝的矩阵很大,已经放在了试题目录下面,叫 inc.txt。为了更清楚的

描述问题,他还找了一个很小的矩阵用来解释。

例如,对于矩阵:

可以找到 4 个长度为 1 的上升子串、4 个长度为 2 的上升子串、2 个长度

为 3 的上升子串,共 10 个。

现在,请你对于小蓝的大矩阵,找到上升子串的数量。

答案 找不见数据

思路

对于每一个位置,我们有两种情况,一种是取自己,另外一种是取自己 和周围比他小,即周围比他小的方案数总和

代码

需要手动调整n,m大小

I: 画中漂流

【问题描述】

在梦境中,你踏上了一只木筏,在江上漂流。根据对当地的了解,你知道在你下游 D 米处有一个峡谷,如果你向下游前
进大于等于 D 米则必死无疑。现在你打响了急救电话,T 秒后救援队会到达并将你救上岸。水流速度是1 m/s,你现在有 M 点体力。每消耗一点体力,你可以划一秒桨使船向上游前进 1m,否则会向下游前进 1m (水流)。M 点体力需在救援队赶来前花光。因为江面太宽了,凭借你自己的力量不可能上岸。请问,有多少种划桨的方案可以让你得救。

两个划桨方案不同是指:存在某一秒钟,一个方案划桨,另一个方案不划。

【输入格式】

输入一行包含三个整数 D, T, M。

【输出格式】

输出一个整数,表示可以让你得救的总方案数,答案可能很大,请输出方
案数除以 1, 000, 000, 007 的余数。

【评测用例规模与约定】

对于 50% 的评测用例,1 ≤ T ≤ 350。
对于所有评测用例,1 ≤ T ≤ 3000, 1 ≤ D ≤ T, 1 ≤ M ≤ 1500。

思路

我们可以发现,每i秒之间的状态是固定的(在哪个可达位置)所以这些可达状态必然是从上一层的合法方案的i+1秒或i-1秒到达的所以可以用一个dp.

代码

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月24日
下一篇 2020年9月24日

相关推荐