导航菜单
首页 >  蓝桥杯真题及答案  > 2022 第十三届蓝桥杯省赛 C/C++ B组 试题与个人题解

2022 第十三届蓝桥杯省赛 C/C++ B组 试题与个人题解

2022 第十三届蓝桥杯省赛 C/C++ B组 试题与个人题解 试题A: 九进制转十进制

本题总分:5分

【问题描述】

九进制正整数 (2022), 转换成十进制等于多少?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

题解:进制转换 2 * 9^0 + 2 * 9^1 + 0 + 2 * 9^3 = 1478 试题B: 顺子日期

本题总分:5分

【问题描述】

小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如20220123就是一个顺子日期,因为它出现了一个顺子: 123; 而20221023则不是一个顺子日期,它一个顺子也没有。小明想知道在整个2022年份中,一共有多少个顺子日期。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

题解:日历

很多人在讨论 012 算不算顺子,因为题目里说 0123 中的顺子是 123,我是算了的,不算的话答案应该是 4

年份 2022 是不变的,而且不可能搭上顺子,所以只考虑后四位即可可能搭上顺子的月份有:1月:0120 ~ 0129 共 10 个,顺子是 012 (其中 0123 可以认为顺子是 123)10月:1012,顺子是 01211月:1123,顺子是 12312月:1230,1231,顺子是 123一共 14 个

蓝桥杯题意表达含糊不清真的有一套的

试题C: 刷题统计

时间限制:1.0s 内存限制:256.0MB 本题总分:10分

【问题描述】

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做α道题目,周六和周日每天做b道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于n题?

【输入格式】

输入一行包含三个整数a, b和n.

【输出格式】

输出一个整数代表天数。

【样例输入】

10 20 99

【样例输出】

8

【评测用例规模与约定】

对于 50% 的评测用例,1 ≤ a, b, n ≤ 10^5.

对于 100% 的评测用例,1≤ a, b, n ≤ 10^15.

题解:取余

看 1E15 的数据规模,暴力模拟的话稳稳超时

可以先算出每周可以做多少题,然后利用除法和取余,就能把取余后的做题量控制在一周内,再判断一下一周内的五天能不能做完,就比较简单了

#include using namespace std;typedef long long ll;ll a, b, n, k;ll ans = 0;int main() {cin >> a >> b >> n;k = a * 5 + b + b;ans += n / k * 7;n %= k;if (n b);}cout a[i];}cin >> mb;for (int i = 1; i > b[i];}int i = ma, j = mb;while (i > 0) {ans += (a[i] - b[j]) * bac;ans %= MOD;ll p = max(a[i], b[j]) + 1;bac *= max(p, 2LL);bac %= MOD;i--;if (j) j--;}cout n >> k;for (int i = 1; i a[i][j];a[i][j] += a[i - 1][j] - a[i - 1][j - 1] + a[i][j - 1];}}for (int i = 1; i k) r = mid - 1;else l = mid;}if (getsum(i, j, x, l) > k) break;ans += l - j + 1;}}}cout n >> k;for (int i = 1; i a[i][j];a[i][j] += a[i][j - 1];}}for (int i = 1; i > y >> r;q.push(point(x, y, r));}while (!q.empty()) {point po = q.front();x = po.x, y = po.y, r = po.r;q.pop();for (int i = x - r; i > n >> m;cout

相关推荐: