09红军营队附近有一列信号发射器,用 f(n) 表示第 n 个发射器的强度,等于前两个信号塔强度之和,即 f(n)=f(n−1)+f(n−2),且 f(1)=1,f(2)=1。在 C++ 中写递归函数求f(n)时,说法错误的是。4分
登录后查看选项
10
红军通讯班需要建立一个无线电发报阵地。侦察员测绘了所有备选山头的高度,并将其记录在一个从小到大排列的有序数组 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;
}
}
4分
登录后查看选项
编程题 共4道
11
红军的密码破译
题目描述
红军通讯员截获了一段敌军的小写英文字母密电。根据情报,敌军的加密规则非常简单:将明文中的每一个字母,都在字母表上向后平移了 K 个位置(例如 K=1 时,'a' 变成 'b','z' 变成 'a')。
现在情况紧急,请你编写程序,已知平移的位数 K 和截获的密文,帮助红军将其破译还原为明文。
输入
第一行包含一个正整数 K,表示字母平移的位数。
第二行包含一个仅由大小写英文字母组成的字符串,表示截获的密文。
输出
输出一行,表示破译后的明文。
数据范围
数据保证,输入的 K 介于 1 至 25 之间,密文均仅由小写字母构成,不包含其他字符。
输入样例1
7
php
输出样例1
iai
15分
登录后作答
12
红军的部队整编
题目描述
红军模拟演练整编部队,先遣队共有 n 支战斗小组,根据当前装备情况分为两种初始编制:
轻装组,简称“0”型小组。
掩护组,简称“1”型小组。
根据地形侦察报告:
投入一支 “0”型 小组参战,需消耗 a 份后勤补给。
投入一支 “1”型 小组参战,需消耗 b 份后勤补给。
由于战斗需要,可以通过紧急换装(战略转型)来调整编制:将一支“0”型组改造为“1”型组,或将“1”型组改造为“0”型组,均需额外消耗 c 份补给。
请你计算出:在确保所有 n 支小组都投入战斗的前提下,如何通过“直接参战”或“转型后参战”的决策,使总的补给消耗降到最低?
输入
第一行包含一个整数 T,表示共有 T 次模拟演练。
每组演练包含两行数据:
第一行四个整数 n,a,b,c。
第二行一个长度为 n 的 01 字符串,表示各小组的初始编制状态。
输出
每组数据结果占一行,输出一个整数表示最小消耗。
数据范围
1≤T≤100,1≤n,a,b,c≤10000
输入样例1
3
4 1 2 1
1001
6 1 1 1
101011
3 2 1 3
111
输出样例1
6
6
3
输入样例2
4
4 3 2 1
1111
7 1 4 2
0111011
5 11 5 1
10010
6 1 1 1
101001
输出样例2
8
17
28
6
输入样例3
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
3
52
5
10
16
22
15分
登录后作答
13
红军搭浮桥
题目描述
红军工兵连搭建了一座秘密浮桥。这座浮桥的设计非常特殊:
开启机制:当一名红军战士踏上浮桥时,浮桥会立即进入“稳固通行状态”。
自动隐蔽:当一名红军战士踏上浮桥时,浮桥维持 d 秒的稳固时间。d 秒后为了安全,浮桥会自动沉入水下隐蔽。
计时重置:如果浮桥在通行状态下,又有一名战士踏了上来,浮桥的稳固计时器会立即重置,从这一刻起重新计算 d 秒后再隐蔽。
现在共有 n 名战士陆续通过了浮桥,他们踏上桥的时间点分别是 t1,t2,…,tn。请你计算,从第一名战士踏上浮桥开始,到最后浮桥自动隐蔽,浮桥总共在水面上开启了多少时间?