试卷总分:100分


选择题 5题 10分

02 03 04 05 06


多选题 5题 20分

11 12 13 14 15


编程题 4题 70分

07 08 09 10

E1018 全国青少年信息素养大赛 -算法应用 C++ 初中组 复赛模拟题1-考试

选择题 共5道

02

丝路商队在长安、敦煌、撒马尔罕、巴格达、君士坦丁堡5座城市间进行贸易。使用C++数组存储各城市间的关税税率(浮点数)。若定义 double tax[5];,下列关于数组的说法正确的是?

2分
登录后查看选项
03

某驼队有负重上限 maxLoad,现有n件货物重量为 w[0]...w[n-1]。若要用贪心算法装载最多数量的货物,应先对货物重量进行什么操作?

2分
登录后查看选项
04

仓库按重量从小到大有序存放一批待外运的丝绸包裹,每件包裹重量为整数。现有一队商队想要快速找到第一件重量不小于 50 斤的丝绸包裹下标,仓库存储数组为有序数组 weights[10] = {12,23,29,36,44,51,55,62,70,81},使用二分查找实现该需求,下列说法正确的是?

2分
登录后查看选项
05

敦煌壁画修复需计算每个修复小组的工作时长。若定义函数 int work(int a, int b) 返回 a+b,则调用 work(3, work(2, 1)) 的结果是?

2分
登录后查看选项
06

陆上丝路驿站构成连通路网,任意两个相邻驿站之间路程完全相同,现需要从敦煌驿站出发,求出抵达长安驿站途经驿站数量最少的通行路线,最合适的算法是?

2分
登录后查看选项

多选题 共5道

11

丝路商贸模拟中,需要计算多种货币兑换。关于C++中的数据类型,以下说法正确的是?

4分
登录后查看选项
12

某商队行程规划问题可用二维数组 int dist[10][10] 存储城市间距离。关于二维数组,正确的是?

4分
登录后查看选项
13

驼队载重优化可使用动态规划(DP)解决0/1背包问题。关于DP,正确的是?

4分
登录后查看选项
14

造纸术传播路径模拟中,使用深度优先搜索(DFS)遍历路线图。关于DFS,正确的是?

4分
登录后查看选项
15

季风导航模拟中,需要计算前缀和(例如某段航程的总风向偏移)。关于前缀和,正确的是?

4分
登录后查看选项

编程题 共4道

07

货币兑换

题目描述

丝绸之路上的商队经常需要兑换不同国家的货币。已知唐朝铜钱(文)、波斯银币(迪尔汗)、罗马金币(索利多)之间的兑换关系为:

1 索利多 = 12 迪尔汗,1 迪尔汗 = 50 文。

现给定一个整数表示某种货币的数量,以及源货币类型和目标货币类型,请计算出兑换后的数量(向下取整)。

输入

第一行一个字符串,表示源货币类型(tang、persia、rome);

第二行一个整数n,表示源货币的数量;

第三行一个字符串,表示目标货币类型。

输出

一行一个整数,表示兑换后的数量(向下取整)。

数据范围

1≤n≤10000

输入样例1

tang

1000

persia

输出样例1

20

输入样例2

persia

30

rome

输出样例2

2

输入样例3

rome

5

tang

输出样例3

3000

15分

C0571
登录后作答
08

驼队载重优化

题目描述

丝路驼队要运送一批货物。

共有 n 件货物,每件货物有重量 w[i]。每只骆驼最多可载重 C。为了尽快完成运输,驼队希望在不超重的前提下,让一只骆驼装载尽可能多的货物件数。请计算最多能装多少件货物。

输入

第一行两个整数 n 和 C。

第二行 n 个整数 w[0]...w[n-1]。

输出

一个整数,表示最多能装载的货物件数。

数据范围

1≤n≤10^4,1≤C≤10^6,1≤w[i]≤C

输入样例1

5 10

3 2 5 2 4

输出样例1

3

输入样例2

4 7

5 5 5 5

输出样例2

1

15分

C0576
登录后作答
09

传播造纸术

题目描述

造纸术沿丝路由东向西传播。

有 n 个城市,编号 0~n-1,城市间有 m 条双向道路。起点城市 0(长安)已经掌握造纸术。传播规则:每个城市只能从与其直接相邻且已经掌握造纸术的城市学习。学习过程是逐层传播的,每个城市学到后立刻可以传给邻居。请问:从起点出发,哪些城市能学到造纸术?输出所有能学到的城市编号(升序)。

输入

第一行两个整数 n, m。

接下来 m 行,每行两个整数 u, v,表示一条道路。图可能不连通。

输出

一行,按升序输出所有能到达的城市编号,空格隔开。如果没有(仅起点自己),输出 0。

数据范围

2≤n≤1000,0≤m≤n*(n-1)/2

输入样例1

5 4

0 1

0 2

1 3

2 4

输出样例1

0 1 2 3 4

输入样例2

4 2

0 1

2 3

输出样例2

0 1

20分

C0577
登录后作答
10

绿洲生态

题目描述

丝路沿线有 n 个绿洲排成一行,编号 1~n。每个绿洲有一个“生态价值” a[i](可能为负)。商队要选择一段连续的绿洲进行生态考察,要求该段的价值之和最大。

请输出最大连续子段和。

输入

第一行一个整数 n(1 ≤ n ≤ 10^5)。

第二行 n 个整数 a[1]...a[n](-10^4 ≤ a[i] ≤ 10^4)。

输出

一个整数,表示最大连续子段和。

数据范围

2≤n≤1000,0≤m≤n*(n-1)/2

输入样例1

9

-2 1 -3 4 -1 2 1 -5 4

输出样例1

6

输入样例2

5

-1 -2 -3 -4 -5

输出样例2

-1

输入样例3

3

1 2 3

输出样例3

6

20分

C0578
登录后作答