选择题 共5道
多选题 共5道
编程题 共4道
丝路商队在长安、敦煌、撒马尔罕、巴格达、君士坦丁堡5座城市间进行贸易。使用C++数组存储各城市间的关税税率(浮点数)。若定义 double tax[5];,下列关于数组的说法正确的是?
某驼队有负重上限 maxLoad,现有n件货物重量为 w[0]...w[n-1]。若要用贪心算法装载最多数量的货物,应先对货物重量进行什么操作?
仓库按重量从小到大有序存放一批待外运的丝绸包裹,每件包裹重量为整数。现有一队商队想要快速找到第一件重量不小于 50 斤的丝绸包裹下标,仓库存储数组为有序数组 weights[10] = {12,23,29,36,44,51,55,62,70,81},使用二分查找实现该需求,下列说法正确的是?
敦煌壁画修复需计算每个修复小组的工作时长。若定义函数 int work(int a, int b) 返回 a+b,则调用 work(3, work(2, 1)) 的结果是?
陆上丝路驿站构成连通路网,任意两个相邻驿站之间路程完全相同,现需要从敦煌驿站出发,求出抵达长安驿站途经驿站数量最少的通行路线,最合适的算法是?
丝路商贸模拟中,需要计算多种货币兑换。关于C++中的数据类型,以下说法正确的是?
某商队行程规划问题可用二维数组 int dist[10][10] 存储城市间距离。关于二维数组,正确的是?
驼队载重优化可使用动态规划(DP)解决0/1背包问题。关于DP,正确的是?
造纸术传播路径模拟中,使用深度优先搜索(DFS)遍历路线图。关于DFS,正确的是?
季风导航模拟中,需要计算前缀和(例如某段航程的总风向偏移)。关于前缀和,正确的是?
丝绸之路上的商队经常需要兑换不同国家的货币。已知唐朝铜钱(文)、波斯银币(迪尔汗)、罗马金币(索利多)之间的兑换关系为:
1 索利多 = 12 迪尔汗,1 迪尔汗 = 50 文。
现给定一个整数表示某种货币的数量,以及源货币类型和目标货币类型,请计算出兑换后的数量(向下取整)。
第一行一个字符串,表示源货币类型(tang、persia、rome);
第二行一个整数n,表示源货币的数量;
第三行一个字符串,表示目标货币类型。
一行一个整数,表示兑换后的数量(向下取整)。
1≤n≤10000
tang
1000
persia
20
30
rome
2
5
3000
丝路驼队要运送一批货物。
共有 n 件货物,每件货物有重量 w[i]。每只骆驼最多可载重 C。为了尽快完成运输,驼队希望在不超重的前提下,让一只骆驼装载尽可能多的货物件数。请计算最多能装多少件货物。
第一行两个整数 n 和 C。
第二行 n 个整数 w[0]...w[n-1]。
一个整数,表示最多能装载的货物件数。
1≤n≤10^4,1≤C≤10^6,1≤w[i]≤C
5 10
3 2 5 2 4
3
4 7
5 5 5 5
1
造纸术沿丝路由东向西传播。
有 n 个城市,编号 0~n-1,城市间有 m 条双向道路。起点城市 0(长安)已经掌握造纸术。传播规则:每个城市只能从与其直接相邻且已经掌握造纸术的城市学习。学习过程是逐层传播的,每个城市学到后立刻可以传给邻居。请问:从起点出发,哪些城市能学到造纸术?输出所有能学到的城市编号(升序)。
第一行两个整数 n, m。
接下来 m 行,每行两个整数 u, v,表示一条道路。图可能不连通。
一行,按升序输出所有能到达的城市编号,空格隔开。如果没有(仅起点自己),输出 0。
2≤n≤1000,0≤m≤n*(n-1)/2
5 4
0 1
0 2
1 3
2 4
0 1 2 3 4
4 2
2 3
丝路沿线有 n 个绿洲排成一行,编号 1~n。每个绿洲有一个“生态价值” a[i](可能为负)。商队要选择一段连续的绿洲进行生态考察,要求该段的价值之和最大。
请输出最大连续子段和。
第一行一个整数 n(1 ≤ n ≤ 10^5)。
第二行 n 个整数 a[1]...a[n](-10^4 ≤ a[i] ≤ 10^4)。
一个整数,表示最大连续子段和。
9
-2 1 -3 4 -1 2 1 -5 4
6
-1 -2 -3 -4 -5
-1
1 2 3