第十一届蓝桥杯 2020年省赛真题 (C/C++ 大学A组) 第一场
蓝桥杯 2020年省赛真题 (C/C++ 大学A组 )
- #A 跑步训练
- #B 合并检测
- 朴素解法
- 数理分析
- #C 分配口罩
- #D 矩阵
- 动态规划
- 勾长公式
- #E 完美平方数
- #F 解码
- #G 走方格
- #H 整数小拼接
- #I 超级胶水
- #J 网络分析
- 并查集
打发时间。
#A 跑步训练
本题总分:555 分
问题描述
小明要做一个跑步训练。
初始时,小明充满体力,体力值计为 100001000010000。如果小明跑步,每分钟损耗 600600600 的体力。如果小明休息,每分钟增加 300300300 的体力。体力的损耗和增加都是均匀变化的。
小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟 …… 如此循环。如果某个时刻小明的体力到达 000,他就停止锻炼。
请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
3880
#include <stdio.h>int N = 10000, k = 5, ans = 0, K[2]{ 1, -1};int main() {for (int opt = 1; N > 0; opt ^= 1)for (int i = 0; i < 60 && N > 0; i++)N += K[opt] * (opt + 1) * k, ++ans;if (N < 0) --ans;printf("%d", ans);
}
简单的模拟题。
#B 合并检测
本题总分:555 分
问题描述
新冠疫情由新冠病毒引起,最近在 A\mathrm AA 国蔓延,为了尽快控制疫情,A\mathrm AA 国准备给大量民众进病毒核酸检测。
然而,用于检测的试剂盒紧缺。
为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人( kkk 个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 kkk 个人都是阴性,用一个试剂盒完成了 kkk 个人的检测。如果结果为阳性,则说明至少有一个人为阳性,需要将这 kkk 个人的样本全部重新独立检测(从理论上看,如果检测前 k−1k − 1k−1 个人都是阴性可以推断出第 kkk 个人是阳性,但是在实际操作中不会利用此推断,而是将 kkk 个人独立检测),加上最开始的合并检测,一共使用了 k+1k + 1k+1 个试剂盒完成了 kkk 个人的检测。
A\mathrm AA 国估计被测的民众的感染率大概是 111%,呈均匀分布。请问 kkk 取多少能最节省试剂盒?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
10
朴素解法
#include <stdio.h>int N = 10000, ans = 100;int calc(int k) { return N / k + N / 100 * k; }int main() {for (int i = 1; i < 100; ++i)if (calc(i) < calc(ans)) ans = i;printf("%d", ans);
}
设 NNN 为民众人数,然后暴力枚举 [1,100)[1,100)[1,100) 这个区间就行,因为 k≥100k \geq 100k≥100 时,每个人都要重新做一遍检测,答案必不优。
数理分析
感染人数呈均匀分布,即 p{θ=某民感染}=1100p\{\theta = 某民感染\} = \frac 1{100}p{θ=某民感染}=1001、p{θ=某民健康}=99100p\{\theta = 某民健康\} = \frac {99}{100}p{θ=某民健康}=10099,
kkk 名群众中无有感染者,可以看作为 kkk 重伯努利试验,其中有感染者的概率为 ∑i=1k(Cki(1100)i(99100)k−i)\displaystyle\sum_{i=1}^k\left(C_{k}^{i}(\frac 1{100})^i(\frac {99}{100})^{k-i}\right)i=1∑k(Cki(1001)i(10099)k−i),也就说,当 kkk 取定时,只有 (99100)k(\frac{99}{100})^k(10099)k 的分组不用重新检测,所用的试剂盒个数为 Nk+N(1−(99100)k)\frac Nk + N(1-(\frac{99}{100})^k)kN+N(1−(10099)k)。
设函数 f(x)=Nx+N(1−(99100)x)f(x) = \frac Nx+N(1-(\frac{99}{100})^x)f(x)=xN+N(1−(10099)x),NNN 为一个较大常数,f′(x)=−Nx2−Nln99100(99100)x=−N(x−2+ln99100(99100)x)f'(x) = -\frac N{x^2} - N\ln\frac{99}{100}(\frac{99}{100})^x = -N(x^{-2} + \ln\frac{99}{100}(\frac{99}{100})^x)f′(x)=−x2N−Nln10099(10099)x=−N(x−2+ln10099(10099)x),大致能看出 f(x)f(x)f(x) 在 [1,100)[1,100)[1,100) 的极小值在 (10,11)(10,11)(10,11) 之间,可以说 101010、111111 都是对的。
但赛委组怎么考虑这道题的,我就不得而知了。
#C 分配口罩
本题总分:101010 分
问题描述
某市市长获得了若干批口罩,每一批口罩的数目如下:(如果你把以下文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 mask.txt,内容与下面的文本相同)
9090400
8499400
5926800
8547000
4958200
4422600
5751200
4175600
6309600
5865200
6604400
4635000
10663400
8087200
4554000
现在市长要把口罩分配给市内的 2 所医院。由于物流限制,每一批口罩只能全部分配给其中一家医院。市长希望 2 所医院获得的口罩总数之差越小越好。请你计算这个差最小是多少?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
2400
#include <stdio.h>int n, i, cnt, sum, ans = 0x3F3F3F3F, A[1000];int abs(int a) { return a > 0 ? a : -a; }int main() {freopen("mask.txt", "r", stdin);while (~scanf("%d", &A[n])) sum += A[n++];for (int k = 1 << n; --k;) {for (cnt = i = 0; i < n; ++i)if (k >> i & 1) cnt += A[i];if (abs(sum - 2 * cnt) < ans) ans = abs(sum - 2 * cnt);}printf("%d", ans);
}
nnn 比较小,可以直接枚举所有可能的分配,当 nnn 大了可以尝试在 map\mathrm{map}map 上做个背包 dp\mathrm{dp}dp,但写起来可能有点恶心,这里就不实现了。
#D 矩阵
本题总分:101010 分
问题描述
把 1∼20201 \sim 20201∼2020 放在 2×10102 × 10102×1010 的矩阵里。要求同一行中右边的比左边大,同一 列中下边的比上边的大。一共有多少种方案?
答案很大,你只需要给出方案数除以 202020202020 的余数即可。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
1340
动态规划
// 等会写
勾长公式
将 2×10102 × 10102×1010 的矩阵看作杨表,则其方案数有勾长公式dimπλ=n!∏x∈Y(λ)hook(x)=2020!1011!1010!(mod2020)\dim \pi _\lambda=\cfrac {n!}{\prod_{x\in Y(\lambda)}{\mathrm{hook}}(x)} = \cfrac{2020!}{1011!1010!} \pmod {2020}dimπλ=∏x∈Y(λ)hook(x)n!=1011!1010!2020!(mod2020)
由于模数非质、因子较小且连续,故不采用扩展欧几里得求逆元,直接统计质因子质数再将其相乘即可。
#include <bits/stdc++.h>using namespace std;map<int, int> factor[2021];vector<int> primes;int ans = 1;int main() {for (int i = 2; i <= 2020; ++i) {if (!factor[i][0]) {primes.push_back(i);factor[i][i] = 1;}for (int p : primes) {if (p * i > 2020) break;factor[p * i] = factor[i];factor[p * i][0] = 1;factor[p * i][p]++;if (i % p == 0) break;}}for (int i = 1; i <= 1010; ++i)for (auto &p : factor[i]) factor[2020][p.first] -= p.second;for (int i = 1012; i < 2020; ++i)for (auto &p : factor[i]) factor[2020][p.first] += p.second;for (auto &p : factor[2020]) for (int i = 0; i < p.second; ++i) if (p.first) ans = ans * p.first % 2020;printf("%d", ans);
}
上当了,应该用扩欧的。
当然,如果会点 Python\mathrm {Python}Python 的话:
ans = 1
for i in range(1, 1011):ans = ans * (i + 1011) // i
print(ans % 2020)
#E 完美平方数
本题总分:151515 分
问题描述
如果一个整数本身是完全平方数,它的每一位组成数字也是完全平方数,我们就称它是完美平方数。
前几个完美平方数是 0、1、4、9、49、100、144⋯⋯0、1、4、9、49、100、144\cdots\cdots0、1、4、9、49、100、144⋯⋯
即第 111 个完美平方数是 000,第 222 个是 111,第 333 个是 444,⋯⋯\cdots\cdots⋯⋯
那么,第 202020202020 个完美平方数是多少?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
1499441040
#include <stdio.h>int N = 2020, ans = 0;bool check(int n) { return !n || n == 1 || n == 4 || n == 9; }int main() {while (N) {bool flag = 1;for (int n = ans * ans; n; n /= 10)if(!check(n % 10)) flag = 0;if (flag) --N;if (N) ans++;}printf("%d", ans * ans);
}
设答案与 N=2020N = 2020N=2020 的关系为 f(N)f(N)f(N),则对于几种常见的枚举对象,它们的复杂度是。
O(f(N))O(f(N))O(f(N)),枚举 1∼f(x)1\sim f(x)1∼f(x) 中的每一个数。
O(4logf(N))O(4^{\log f(N)})O(4logf(N)),枚举 1∼f(x)1\sim f(x)1∼f(x) 中的能被 0,1,4,90, 1,4, 90,1,4,9 组合成的数。
O(f(N))O(\sqrt{f(N)})O(f(N)),枚举 1∼f(x)1\sim f(x)1∼f(x) 中的完全平方数。
对于第一种,它的运行耗时显然不是我们所能接受,对于第二种则需要我们对于答案的特征,如它的位数有着快速准确的判断,来避免在调试程序花费不必要的时间。
总之保持对时间复杂度的敏感程度,至少可以避免你选择到最差解。
#F 解码
时间限制: 1.0s1.0\mathrm s1.0s 内存限制: 256.0MB256.0\mathrm{MB}256.0MB 本题总分:151515 分
问题描述
小明有一串很长的英文字母,可能包含大写和小写。
在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 +++ 出现次数的形式。
例如,连续的 555 个 a\mathrm aa ,即 aaaaa\mathrm{aaaaa}aaaaa ,小明可以简写成 a5\mathrm{a5}a5 (也可能简写成 a4a\mathrm{a4a}a4a 、 aa3a\mathrm{aa3a}aa3a 等)。
对于这个例子:HHHellllloo\mathrm{HHHellllloo}HHHellllloo ,小明可以简写成 H3el5o2\mathrm{H3el5o2}H3el5o2。为了方便表达,小明不会将连续的超过 999 个相同的字符写成简写的形式。
现在给出简写后的字符串,请帮助小明还原成原来的串。
输入格式
输入一行包含一个字符串。
输出格式
输出一个字符串,表示还原后的串。
测试样例1
Input:
H3el5o2Output:
HHHellllloo
评测用例规模与约定
对于所有评测用例,字符串由大小写英文字母和数字组成,长度不超过 100100100。
请注意原来的串长度可能超过 100100100。
#include <stdio.h>char s[2020];int main() {scanf("%s", s);for (int i = 0; s[i]; ++i) {if (s[i] > '9') putchar(s[i]);else while (s[i]-- > '1') putchar(s[i - 1]);}
}
签到。
#G 走方格
时间限制: 1.0s1.0\mathrm s1.0s 内存限制: 256.0MB256.0\mathrm{MB}256.0MB 本题总分:202020 分
问题描述
在平面上有一些二维的点阵。
这些点的编号就像二维数组的编号一样,从上到下依次为第 111 至第 nnn 行,从左到右依次为第 111 至第 mmm 列,每一个点可以用行号和列号来表示。
现在有个人站在第 111 行第 111 列,要走到第 nnn 行第 mmm 列。
只能向右或者向下走。
注意,如果行号和列数都是偶数,不能走入这一格中。
问有多少种方案。
输入格式
输入一行包含两个整数 n,mn,mn,m。
输出格式
输出一个整数,表示答案。
测试样例1
Input:
3 4Output:
2
评测用例规模与约定
对于所有评测用例,1≤n≤30,1≤m≤301 \leq n \leq 30, 1 \leq m \leq 301≤n≤30,1≤m≤30。
#include <stdio.h>int n, m, dp[50][50] = {0, 1};int main() {scanf("%d %d", &n, &m);for (int i = 1; i <= n; ++i)for (int j = 1; j <= m; ++j)if (i & 1 || j & 1) dp[i][j] = dp[i - 1][j] + dp[i][j - 1];printf("%d", dp[n][m]);
}
二连签到。
#H 整数小拼接
时间限制: 1.0s1.0\mathrm s1.0s 内存限制: 256.0MB256.0\mathrm{MB}256.0MB 本题总分:202020 分
问题描述
给定一个长度为 nnn 的数组 A1,A2,⋯,AnA_1,A_2,\cdots,A_nA1,A2,⋯,An。你可以从中选出两个数 AiA_iAi 和 AjA_jAj (iii 不等于 jjj) ,然后将 AiA_iAi 和 AjA_jAj 一前一后拼成一个新的整数。例如 121212 和 345345345 可以拼成 123451234512345 或 345123451234512 。注意交换 AiA_iAi 和 AjA_jAj 的顺序被视为 222 种拼法,即便是 Ai=AjA_i=A_jAi=Aj 时。
请你计算有多少种拼法满足拼出的整数小于等于 KKK。
输入格式
第一行包含 222 个整数 nnn 和 KKK。
第二行包含 nnn 个整数 A1,A2,⋯,AnA_1,A_2,\cdots,A_nA1,A2,⋯,An。
输出格式
输出一个整数,表示答案。
测试样例1
Input:
4 33
1 2 3 4Output:
8
评测用例规模与约定
对于 303030% 的评测用例,1≤n≤1000,1≤K≤108,1≤Ai≤1041\leq n \leq 1000, 1 \leq K \leq 10^8, 1 \leq A_i \leq 10^41≤n≤1000,1≤K≤108,1≤Ai≤104。
对于所有评测用例,1≤n≤100000,1≤K≤1010,1≤Ai≤1091\leq n \leq 100000, 1 \leq K \leq 10^{10}, 1 \leq A_i \leq 10^91≤n≤100000,1≤K≤1010,1≤Ai≤109。
#include <algorithm>
#include <stdio.h>long long K, ans, A[100010];int n;int main() {scanf("%d %lld", &n, &K);for (int i = 0; i < n; ++i)scanf("%d", &A[i]);std::sort(A, &A[n]);for (int i = 0; i < n; ++i) {long long k = 1;while (A[i] >= k) k *= 10;long long *find = std::upper_bound(A, &A[n], K / k - (K % k < A[i]));if (find > &A[i]) --ans;ans += find - A;}printf("%lld", ans);
}
签到三连。
STL\mathrm{STL}STL 好用的想转 C\mathrm CC。
#I 超级胶水
时间限制: 1.0s1.0\mathrm s1.0s 内存限制: 256.0MB256.0\mathrm{MB}256.0MB 本题总分:252525 分
问题描述
小明有 nnn 颗石子,按顺序摆成一排,他准备用胶水将这些石子粘在一起。
每颗石子有自己的重量,如果将两颗石子粘在一起,将合并成一颗新的石子,重量是这两颗石子的重量之和。
为了保证石子粘贴牢固,粘贴两颗石子所需要的胶水与两颗石子的重量乘积成正比,本题不考虑物理单位,认为所需要的胶水在数值上等于两颗石子重量的乘积。
每次合并,小明只能合并位置相邻的两颗石子,并将合并出的新石子放在原来的位置。
现在,小明想用最少的胶水将所有石子粘在一起,请帮助小明计算最少需要多少胶水。
输入格式
输入的第一行包含一个整数 nnn,表示初始时的石子数量。
第二行包含 nnn 个整数 w1,w2,…,wnw_1 , w_2 , … , w_nw1,w2,…,wn,依次表示每颗石子的重量。
输出格式
输出一行包含一个整数,表示最少需要的胶水数。
测试样例1
Input:
3
3 4 5Output:
47
测试样例2
Input:
8
1 5 2 6 3 7 4 8Output:
546
评测用例规模与约定
对于 202020% 的评测用例,1≤n≤151\leq n \leq 151≤n≤15。
对于 606060% 的评测用例,1≤n≤1001\leq n \leq 1001≤n≤100。
对于 808080% 的评测用例,1≤n≤10001\leq n \leq 10001≤n≤1000。
对于所有评测用例,1≤n≤100000,1≤wi≤10001\leq n \leq 100000, 1 \leq w_i \leq 10001≤n≤100000,1≤wi≤1000。
#include <stdio.h>int n, stone, stones;long long ans;int main() {scanf("%d", &n);for (int i = 1; i <= n; ++i) {scanf("%d", &stone);ans += stone * stones;stones += stone;}printf("%lld", ans);
}
怎么说呢,
我们都知道长方形面积公式 S=a×bS=a×bS=a×b,
也都知道长方形 r1r_1r1、r2r_2r2 周长相等时,它们面积相同,
根据此性质我们可以得到推论,无论合并的顺序,最后一次合并需要的胶水量是相同的,也容易知道若倒数二、第三次合并存在,无论合并顺序,它们的和也是相同的,以此类推,
最终,答案等于 ∑i=1n(wi∑j=1i−1wj)\displaystyle\sum_{i=1}^n(w_i\displaystyle\sum_{j=1}^{i-1}w_j)i=1∑n(wij=1∑i−1wj)。
#J 网络分析
时间限制: 1.0s1.0\mathrm s1.0s 内存限制: 256.0MB256.0\mathrm{MB}256.0MB 本题总分:252525 分
问题描述
小明正在做一个网络实验。
他设置了 nnn 台电脑,称为节点,用于收发和存储数据。
初始时,所有节点都是独立的,不存在任何连接。
小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。
小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。
给出小明连接和测试的过程,请计算出每个节点存储信息的大小。
输入格式
输入的第一行包含两个整数 n,mn, mn,m,分别表示节点数量和操作数量。节点从 111 至 nnn 编号。
接下来 mmm 行,每行三个整数,表示一个操作。
如果操作为 1ab1\ a\ b1 a b,表示将节点 aaa 和节点 bbb 通过网线连接起来。当 a=ba = ba=b 时,表示连接了一个自环,对网络没有实质影响。
如果操作为 2pt2\ p\ t2 p t,表示在节点 ppp 上发送一条大小为 ttt 的信息。
输出格式
输出一行,包含 nnn 个整数,相邻整数之间用一个空格分割,依次表示进行完上述操作后节点 111 至节点 nnn 上存储信息的大小。
测试样例1
Input:
4 8
1 1 2
2 1 10
2 3 5
1 4 1
2 2 2
1 1 2
1 2 4
2 2 1Output:
13 13 5 3
评测用例规模与约定
对于 303030% 的评测用例,1≤n≤20,1≤m≤1001 ≤ n ≤ 20,1 ≤ m ≤ 1001≤n≤20,1≤m≤100。
对于 505050% 的评测用例,1≤n≤100,1≤m≤10001 ≤ n ≤ 100,1 ≤ m ≤ 10001≤n≤100,1≤m≤1000。
对于 707070% 的评测用例,1≤n≤1000,1≤m≤100001 ≤ n ≤ 1000,1 ≤ m ≤ 100001≤n≤1000,1≤m≤10000。
对于所有评测用例,1≤n≤10000,1≤m≤100000,1≤t≤1001 ≤ n ≤ 10000,1 ≤ m ≤ 100000,1 ≤ t ≤ 1001≤n≤10000,1≤m≤100000,1≤t≤100。
并查集
由于某个节点发出的消息,所有与其相邻或间接相邻的节点都会接收并存储一次,于是容易想到对于每个节点所在的联通块,选出一个节点代发这个联通块中所有节点发出的消息,
于是问题就转变为了,快速确定联通块的代表节点,快速合并联通块,这恰与并查集的主要功能相吻合。
对于每次发送的消息,我们都放在父节点暂存起来,最后输出每个节点储存信息大小时,对每个连通块的父节点做一遍 dfs\mathrm{dfs}dfs 下传信息,而对于未联通的块 aaa、bbb 之间的第一次联通,若将 aaa 设为 bbb 的父节点,容易知道 aaa 原先的所有子孙节点不受影响,而 bbb 以及 bbb 的子孙节点在最后 dfs\mathrm{dfs}dfs 时,会额外的统计上此时 aaa 暂存的信息,因此在连接时需要将 bbb 暂存的信息减去 aaa 暂存的信息。
#include <stdio.h>
#include <vector>std::vector<int> graph[10010];int n, m, x, y, opt, linked[10010];long long lazy[10010];bool visited[10010];int find(int a) { return a == linked[a] ? a : (linked[a] = find(linked[a])); }void dfs(int u) {if (visited[u]) return;visited[u] = 1;for (int v : graph[u])lazy[v] += lazy[u], dfs(v);
}int main() {scanf("%d %d", &n, &m);for (int i = 1; i <= n; ++i) linked[i] = i;while (m--) {scanf("%d %d %d", &opt, &x, &y);if (opt == 1) {x = find(x), y = find(y);if (x != y)graph[x].push_back(y),lazy[y] -= lazy[x],linked[y] = x;} else lazy[find(x)] += y;}for (int i = 1; i <= n; ++i)dfs(find(i)), printf("%lld ", lazy[i]);
}
当然本质上,某个节点存储的信息量就是这个这个节点发生的信息与该节点到根节点之间 “差分” 的和,因此也可以使用带权并查集来省略 dfs\mathrm{dfs}dfs 的过程。
#include <stdio.h>int n, m, x, y, opt, value[10010], linked[10010];long long lazy[10010];int find(int a) {if (a == linked[a]) return a;int root = find(linked[a]);lazy[a] += lazy[linked[a]];return linked[a] = root;
}void merge(int a, int b) {a = find(a);b = find(b);if (a == b) return;lazy[b] = value[b] - value[a];linked[b] = a;
}int main() {scanf("%d %d", &n, &m);for (int i = 1; i <= n; ++i) linked[i] = i;while (m--) {scanf("%d %d %d", &opt, &x, &y);if (opt == 1) merge(x, y);else value[find(x)] += y;}for (int i = 1; i <= n; ++i) printf("%lld ", value[find(i)] +lazy[i]);
}
略微缩小了一点常数。
要我定难度的话,这也是道签到题。
第十一届蓝桥杯 2020年省赛真题 (C/C++ 大学A组) 第一场相关推荐
- 第十二届蓝桥杯 2021年省赛真题 (C/C++ 大学A组) 第一场
蓝桥杯 2021年省赛真题 (C/C++ 大学A组 ) #A 卡片 #B 直线 #C 货物摆放 #D 路径 #E 回路计数 #F 砝码称重 背包 DP #G 异或数列 #H 左孩子右兄弟 #I 括号序 ...
- 第十一届蓝桥杯 2020年国赛真题及解析 (Java 大学B组)
第十一届蓝桥杯 2020年国赛真题 Java 大学B组 A 美丽的 2 B 扩散 C 阶乘约数 D 本质上升序列 E 玩具蛇 F 蓝肽子序列 G 皮亚诺曲线距离 H 画廊 I 补给 J 质数行者 所 ...
- 第十三届蓝桥杯 2022年省赛真题(Java 大学C组)
蓝桥杯 2022年省赛真题(Java 大学C组) 目录 试题 A: 排列字母 试题 B: 特殊时间 试题 C: 纸张尺寸 试题 D: 求和 试题 E: 矩形拼接 试题 F: 选数异或 试题 G: GC ...
- 第七届蓝桥杯 2016年省赛真题(Java 大学C组)
蓝桥杯 2016年省赛真题(Java 大学C组) 第一题:有奖猜谜 第二题:煤球数目 第三题:平方怪圈 第四题:骰子游戏 第五题:分小组 第六题:凑算式 第七题:搭积木 第八题:冰雹数 第九题:四平方 ...
- 第十二届蓝桥杯 2021年省赛真题 (C/C++ 大学B组)
蓝桥杯 2021年省赛真题 (C/C++ 大学B组 ) #A 空间 #B 卡片 #C 直线 #D 货物摆放 #E 路径 #F 时间显示 #G 砝码称重 背包 DP #H 杨辉三角形 #I 双向排序 贪 ...
- 第八届蓝桥杯 2017年省赛真题(Java 大学C组)
蓝桥杯 2017年省赛真题 (Java 大学C组 ) 第一题:外星日历 第二题:兴趣小组 第三题:纸牌三角形 第四题:承压计算 第五题:杨辉三角 第六题:最大公共子串 第七题:Excel地址 第八题: ...
- 第十二届蓝桥杯 2021年国赛真题 (C/C++ 大学A组)
蓝桥杯 2021年国赛真题(C/C++ 大学 A 组 ) #A 纯质数 #B 完全日期 #C 最小权值 #D 覆盖 #E 123 #F 异或变换 #G 冰山 #H 翻转括号序列 #I 异或三角 #J ...
- 2020第十一届蓝桥杯7月份省赛真题(JavaB组题解)
2020第十一届蓝桥杯7月份省赛真题(JavaB组题解) 试题 A: 解密 试题 B: 纪念日 试题 C: 合并检测 试题 D: 分配口罩 试题 E: 斐波那契数列最大公约数 试题 F: 分类计数 试 ...
- 2020第十一届蓝桥杯10月份省赛真题(JavaB组题解)
2020第十一届蓝桥杯10月份省赛真题(JavaB组题解) 试题 A:门牌制作 试题 B:寻找 2020 试题 C:蛇形填数 试题 D: 七段码 试题 E:排序 试题 F: 成绩分析 试题 G: 单词 ...
- 蓝桥杯大学JAVA题型_蓝桥杯 2020年省赛真题 10月第二场 (Java 大学B组)
我是C组的,不过对比一下题目录,大致上也只有三两题的不同 就过程而言我觉得我是爆炸的,当然,就结果而言也是 先挂,自闭会 #A 门牌制作 本题总分:5 分 问题描述 小蓝要为一条街的住户制作门牌号. ...
最新文章
- c语言程序做四则运算还要余数,大整数四则运算 高质量C语言程序.doc
- 洛谷 2758 编辑距离
- TCP/IP数据包结构分解
- matlab fbb,[求助]请教如何将modelsim仿真的输出结果导入到matlab中分析
- azul java_Java版本更新重大提醒 - Azul
- 中国数字电视视频信号基本参数
- python黑色背景rbg_使用python PIL将RGB图像转换为纯黑白图像
- 最大子段和(动态规划算法)
- 计算机网络水晶头闪,网线水晶头坏了怎么办 小妙招一分钟解决你的问题
- 正确使用RecyclerView分割线
- 麻将判断胡牌 java_麻将胡牌逻辑 java
- 美化windows xp 完全教程
- 人大金仓安装教程(windows)
- 深度学习学习率对模型训练的影响
- 51单片机波形发生器产生各种波形的原理
- 苹果手机隐私分析数据是什么_苹果公司以用户为中心的隐私保护方法能教给我们什么?
- 交通模拟仿真平台指南(含数据说明)
- fuzzy c-means 与 k-means实验对比
- ERNIE1.0 与 ERNIE2.0 论文解读
- loaded the xxx nib but the view outlet was not set 错误的解决办法。