试卷总分:100分
选择题 5题 10分
多选题 5题 20分
编程题 4题 70分
小通讯员编写了一段基础的密电解密代码,它的作用是?
int n, rev = 0; cin >> n; while (n > 0) { rev = rev * 10 + n % 10; n /= 10; } cout << rev;
红军司务长正在给排队的战士们分发干粮。我们用队列来模拟这个过程。阅读以下代码,请选出说法正确的选项。
#include <queue> #include <iostream> using namespace std; int main() { queue<int> q; q.push(1); q.push(2); q.push(3); q.pop(); q.push(4); q.push(5); return 0; }
红军通讯班需要建立一个无线电发报阵地。侦察员测绘了所有备选山头的高度,并将其记录在一个从小到大排列的有序数组 A 中。
为了保证电报能够顺利发回总指挥部,发报机要求阵地的海拔高度至少要达到 target。小通讯员编写了以下“二分查找”的代码,试图在数组 A 中快速锁定合适的阵地。
阅读以下 C++ 代码,关于该程序的运行逻辑,说法正确的有。
int left = 1, right = n, ans = -1; while (left <= right) { int mid = left + (right - left) / 2; if (A[mid] >= target) { ans = mid; // 记下当前阵地编号 right = mid - 1; // 继续向左侧寻找,看有没有更靠前的合适阵地 } else { left = mid + 1; } }
红军通讯员截获了一段敌军的小写英文字母密电。根据情报,敌军的加密规则非常简单:将明文中的每一个字母,都在字母表上向后平移了 K 个位置(例如 K=1 时,'a' 变成 'b','z' 变成 'a')。
现在情况紧急,请你编写程序,已知平移的位数 K 和截获的密文,帮助红军将其破译还原为明文。
第一行包含一个正整数 K,表示字母平移的位数。
第二行包含一个仅由大小写英文字母组成的字符串,表示截获的密文。
输出一行,表示破译后的明文。
数据保证,输入的 K 介于 1 至 25 之间,密文均仅由小写字母构成,不包含其他字符。
7
php
iai
红军模拟演练整编部队,先遣队共有 n 支战斗小组,根据当前装备情况分为两种初始编制:
根据地形侦察报告:
由于战斗需要,可以通过紧急换装(战略转型)来调整编制:将一支“0”型组改造为“1”型组,或将“1”型组改造为“0”型组,均需额外消耗 c 份补给。
请你计算出:在确保所有 n 支小组都投入战斗的前提下,如何通过“直接参战”或“转型后参战”的决策,使总的补给消耗降到最低?
第一行包含一个整数 T,表示共有 T 次模拟演练。
每组演练包含两行数据:
第一行四个整数 n,a,b,c。
第二行一个长度为 n 的 01 字符串,表示各小组的初始编制状态。
每组数据结果占一行,输出一个整数表示最小消耗。
1≤T≤100,1≤n,a,b,c≤10000
3 4 1 2 1 1001 6 1 1 1 101011 3 2 1 3 111
3
4 1 2 1
1001
6 1 1 1
101011
3 2 1 3
111
6 6 3
6
4 4 3 2 1 1111 7 1 4 2 0111011 5 11 5 1 10010 6 1 1 1 101001
4
4 3 2 1
1111
7 1 4 2
0111011
5 11 5 1
10010
101001
8 17 28 6
8
17
28
6 3 1 1 1 100 5 10 100 1 01010 5 10 1 1 11111 5 1 10 1 11111 12 2 1 10 101110110101 2 100 1 10 00
3 1 1 1
100
5 10 100 1
01010
5 10 1 1
11111
5 1 10 1
12 2 1 10
101110110101
2 100 1 10
00
3 52 5 10 16 22
52
5
10
16
22
红军工兵连搭建了一座秘密浮桥。这座浮桥的设计非常特殊:
现在共有 n 名战士陆续通过了浮桥,他们踏上桥的时间点分别是 t1,t2,…,tn。请你计算,从第一名战士踏上浮桥开始,到最后浮桥自动隐蔽,浮桥总共在水面上开启了多少时间?
第一行:两个正整数 n 和 d。n 表示通过浮桥的战士人数,d 表示浮桥的稳固时间。
第二行:n 个单调不降的正整数 t1,t2,…,tn,表示每位战士踏上浮桥的时间点。
一行一个整数,表示浮桥位于通行状态的总时间。
1≤n≤10^5,1≤ti≤10^9,且 t1≤t2≤t3≤⋯≤tn,1≤d≤10^9
7 3
1 2 7 10 15 17 22
18
7 5
26
7 4
1 2 3 4 5 6 6
9
红军进入地势险峻的山区,侦察员将某片区域绘制成一张 H×W 的网格地图:
红军可以从一个'.'格子移动到上、下、左、右相邻的'.'格子。为了迷惑敌人,指挥部需要寻找这片区域中距离最远的两个战略位置(起点和终点),使得即使走最短路径,所需的移动次数也是最多的。
请你计算出这个最大的移动次数,以评估这片战区的战略回旋纵深。
第 1 行:2 个正整数 H 和 W,表示地图的行数和列数。
接下来 H行:每行 W 个字符(. 或 #),表示战区地形。
1 个正整数,表示在这片战区中,两点间最短路径的最大值。
1≤H,W≤20
地图至少包含两个".",并且任意两个"."之间都可以通过若干次移动互相到达。
3 3
.#.
...
##.
3 5
...#.
.#.#.
.#...