简答题

课程名称:蓝桥Python

题目:编程实现: 两名宇航员在探泰一个未知行星,行星上有-一 些障碍物,这些障碍物用数字 1 表示,没有障碍物用数字 0 表示。 行星被表示成一个 N*M 的矩阵。 探素过程中两名宇航员走散了。已知 A 宇航员的位置 (×1,y1)和 B 宇航员的位置(x2,y2),请你帮助 A 宇航员寻找一条最短路径到达 B 宇航员的位置,并输出最短路径的长度(不包括起点)。 注意: 1.x1、x2 表示矩阵的行号,y1、y2 表示矩阵的列号; 2.左上角的位置为(0,0); 3.A、B 宇航员的位置只能在数字 0 上; 4.有障碍物的位置不能通过。 例如:当 N=4, M=5, x1=1,y1=0, x2=3,y2=3,A 宇航员位置(1,0) ,B 宇航员位貴(3,3),矩阵表示如下: A 宇航员到 B 宇航员有 2 条路径: 第 1 条路径(1,0) -> (0,0) ->(0,1)->(0,2) ->(1,2) -> (2,2)-> (2,3) -> (3,3),路径长度为 7; 第 2 条路径(1,0) ->(2, 0) -> (2,1)-> (2,2)->(2,3)-> (3,3),路径长度为 5: 其中最短路径长度为 5。 输入描述: 第一行包含两个正整数 N (1≤N≤20)和 M (1≤M≤20),分别表示矩阵的行数和列数,正整数之间—个空格隔开 接下来 N 行,每行包含 M 个数字 (0 或 1),0 表示行星上没有障碍物的位置,1 表示行星上有障碍物的位置,整数之间—个空格隔开 最后一行包含四个整数 x1 (0≤x1 <N) , y1 (0≤y1<M),x2(0≤x2<N), y2 (0≤y2<M), (x1, y1) 表示 A 宇航员的位置,(x2,y2)表示 B 宇航员的位置,整数之间一个空格隔开 输出描述: 输出一个整数,表示 A 宇航员到达 B 宇航员的最短路径长度。如果输入不符合要求,输出-2,如果无法到达,输出-1 样例输入: 4 5 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 3 3 样例输岀: 5

简答题

课程名称:蓝桥Python

题目:编程实现: 假设果园中有 N (1≤N≤100)种水果。猴子想要采摘一些水果带回家,但猴子采摘水果的总重量不能超过 W(1≤W≤1000)。 已知每种水果的最大采摘数量 Ni (1≤Ni≤100)、每种水果单个的重量 Wi (1≤Wi≤100)以及每种水果单个的维生素含量 Vi (1≤Vi≤100)。 在采摘水果的总重量不超过 w 的情况下,猴子最多可以获得多少维生素。 例如:N=3,W=5,表示有 3 种水果,旦猴子采摘水果的总重量不能超过 5。 每种水果的最大采摘数量 Ni、每种水果单个的重量 Wi 及每种水果单个的维生素含量 Vi,如下表: 猴子可按以下方式采摘,获得最多的维生素: 1)采摘第一种水果 3 个,3 个水果的重量为 3,3 个水果维生素含量为 6; 2)采摘第二种水果 1 个,1 个水果的重量为 2,1 个水果维生素含量为 4; 水果总的维生素含量最多为 10 (10=6+4)。 输入描述: 第一行输入两个正整数 N (1≤N≤100)和 W (1≤W≤1000),分别表示水果的种类数和猴子最多可采摘的水果总重量, 两个正整数之间以一个空格隔开 接下来 N 行,每行输入三个正整数 Ni (1≤Ni≤100)和 Wi(1≤Wi≤100) 及 Vi (1≤Vis100),分别表示某种水果的最大 采摘数量和某种水果单个的重量及某种水果单个的维生素含量,正整数之间以一个空格隔开 输出描述: 输出一个整数,表示在不能超过水果总重量 w 的情况下,猴子最多能获得到的维生素值 样例输入: 3 5 4 1 2 1 2 4 2 4 5 样例输出: 10