选择题 共5道
多选题 共5道
编程题 共4道
红军后勤部门记录了来自不同地区的物资,每条记录包含地区名(字符串)和数量(整数)。现在需要按照地区名字典序升序排列,若地区相同则按数量降序排列。下面给出了结构体和比较函数的框架,请选择能让 sort 正确完成上述排序的 cmp 函数。
sort
cmp
struct Goods { string region; int amount; }; bool cmp(Goods a, Goods b) { // 选项内容 } sort(arr, arr + n, cmp);
红军通信兵收到一串由大写字母组成的信号。她们使用以下规则处理:初始时结果栈为空。依次扫描每个字母 c,若栈非空且 (c + stack.top()) % 2 == 0 成立,则将栈顶元素弹出;否则将 c 压入栈。最后将栈中剩余字母从底到顶输出。根据该规则,下列说法正确的是( )。
c
(c + stack.top()) % 2 == 0
红军情报员需要从文件 position.txt 中读取两个整数 x 和 y(文件仅包含这两个数,中间用一个空格隔开),计算它们的和,并将结果写入文件 result.txt 中。以下 C++ 代码片段中能够正确实现该功能的是( )。
position.txt
x
y
result.txt
在情报加密算法中需要高效地计算 xn(n 为非负整数)。下面给出了四个递归实现,请选择既能正确计算又能借助分治思想避免大量重复运算的函数。
xn
n
int Power(int x, int n) { // 函数体 }
红军指挥部收到大量情报编号(整数),需要做两项处理:去掉重复的编号,并把所有编号按从小到大的顺序排列。已知 C++ 标准库中的 set 容器可以自动完成去重和排序,请问声明存放这些编号的最合适方式是( )。
set
红军指挥部需要在广袤的草地上选择一个位置建立通讯中心。草地被划分为 n 行 m 列的网格,每个网格中已经测得了一个初始信号强度 bi,j(正整数)。定义通讯中心建立在 (i,j) 位置时的总信号覆盖强度为:第 i 行所有网格的信号强度之和,加上第 j 列所有网格的信号强度之和。
请你编写程序,帮助指挥员找出整个网格中最大的总信号覆盖强度。
第一行包含两个正整数 n 和 m,表示网格的行数和列数。
接下来 n 行,每行包含 m 个整数,表示对应网格的信号强度,数字之间用一个空格分隔。
输出一行,一个整数,表示最大的总信号覆盖强度。
对于 100% 的数据,1≤n,m≤1000,1≤bi,j≤10^4。
3 3 1 2 3 4 5 6 7 8 9
3 3
1 2 3
4 5 6
7 8 9
42
2 2 1 1 1 1
2 2
1 1
4
红军测绘队在行军途中标记了 N 个整数坐标点,他们需要从中选出三个点来构建直角三角形测量标识。请编写程序计算:在所有的点中,有多少种选择三个点的方式,使得这三个点可以构成一个直角三角形(直角可以在任意一个顶点,三点不共线)。
第一行包含一个整数 N。
接下来 N 行,每行包含两个整数 xi, yi,表示点的坐标。
输出一行,一个整数,表示能构成直角三角形的三点组数。
3≤N≤100,坐标值在 -1000 到 1000 之间。
4 0 0 3 0 0 4 1 1
0 0
3 0
0 4
1
6 0 0 1 0 0 1 1 1 0 2 2 0
6
1 0
0 1
0 2
2 0
5
为了加强密电的安全性,红军通讯班采用了更为复杂的“强质数”校验规则。一个质数如果它的各位数字之和也是一个质数,那么这个质数被称为“强质数”。
每次发送情报时,指挥员会给出一个上限 N,需要统计在 2 到 N 的范围内有多少个“强质数”。请你编写程序,根据输入的 N 快速给出答案。
第一行包含一个整数 T,表示测试用例的数量。
接下来 T 行,每行包含一个整数 Ni。
输出 T 行,对于每个 Ni,输出一行,包含一个整数,表示 [2, Ni] 中“强质数”的个数。
40% 的数据:1≤T≤100,2≤Ni≤1000
100% 的数据:1≤T≤100,2≤Ni≤10^7
3 10 20 30
3
10
20
30
4 5 7
7
2 100 50
2
100
50
21 13
21
13
红军后勤部收到了 N 件紧急物资,每件物资都有一个唯一的编号(整数)、重量(整数)和紧急程度(整数,数值越大表示越紧急)。为了快速分派,需要对这些物资进行排序,排序规则如下:
首先按照重量升序排列;如果重量相同,则按照紧急程度降序排列。
请你编写程序,输出排序后的物资编号序列。
接下来 N 行,每行包含三个整数 id, w, u,分别表示物资的编号、重量和紧急程度,数字之间用一个空格分隔。
一行,包含 N 个整数,为排序后的物资编号,数字之间用一个空格分隔。
1≤N≤10^5,1≤id≤10^9,1≤w,u≤10^6。
5 1001 10 3 1002 5 5 1003 10 2 1004 5 2 1005 7 4
1001 10 3
1002 5 5
1003 10 2
1004 5 2
1005 7 4
1002 1004 1005 1001 1003
3 2001 8 9 2002 8 5 2003 8 9
2001 8 9
2002 8 5
2003 8 9
2001 2003 2002