简答题

课程名称:蓝桥C++

题目:充电站 题目描述: 一条笔直的公路沿途有N(2≤N≤100)个充电站,包含起点和终点各一个。小明驾驶电动汽车要从公路的起点到达终点。 已知电动汽车充满电后可行驶的里程数D(10≤D≤10000),及N个充电站每相邻的两个充电站之间的距离,并且小明在起点第一次给电动汽车充满电。请帮助小明计算出最少充电几次才能从起点到达终点(需包含起点的第一次充电)。  注意: 1)到达终点后不需要再充电; 2)每次充电都要充满。 例如:D = 10,N = 7,7个充电站之间的距离依次为1,3,6,8,1,4,最少需要充电3次。 第一次充电在起点(第1个充电站); 第二次充电在第4个充电站(此时行驶里程为10,刚好电量耗尽); 第三次充电在第6个充电站(此时在第二次充满电后行驶了9,剩余电量只能行驶1,距离下一充电站的距离为4,所以必须在此充电站充电)。 输入描述: 第一行输入两个正整数D(10≤D≤10000)和N(2≤N≤100),分别表示电动汽车充满电后可行驶的里程数和公路沿途充电站的个数,正整数之间以一个空格隔开 第二行输入N-1个正整数(1≤正整数≤100000),依次表示相邻两个充电站之间的距离,正整数之间以一个空格隔开 输出描述: 输出一个整数,表示电动汽车从公路的起点到达终点最少充电的次数,如果不能到达终点输出-1(需包含起点的第一次充电)。 样例输入: 10 7 1 3 6 8 1 4 样例输出: 3

简答题

课程名称:蓝桥C++

题目:公园树木 题目描述: 某公园有N(3≤N≤50)棵树排成一排,已知每棵树的高度。现要去掉一些树,使得剩下树的高度从左至右呈现先递增再递减的规律(即剩余的树中仅有一棵最高的树,且它左侧的所有树中后一棵树都要比前一棵树高,它右侧的所有树中后一棵树都要比前一棵树矮) 给出N棵树的高度(高度单位:m,1.0≤每棵树高度≤100.0,保留一位小数),请你计算出最少去掉几棵树才能使这排树呈现先递增再递减的规律,如果不能呈现则输出-1(只有递增或者只有递减都为不能呈现)。 例如:N=10,10棵树的高度从左到右依次为1.0、2.3、1.2、1.7、1.1、2.0、1.8、1.8、1.2、1.9。 要使这排树呈现先递增再递减的规律,最少去掉4棵树,去掉的编号分别为2、5、8、10。 剩余树的高度依次为1.0、1.2、1.7、2.0、1.8、1.2,最高树为2.0,其左侧树的高度依次为1.0、1.2、1.7、2.0,呈现递增趋势(从左至右且包含最高树);其右侧树的高度依次为2.0、1.8、1.2,呈现递减趋势(从左至右且包含最高树)。 输入描述: 第一行输入一个正整数N(3≤N≤50),表示这排树的数量 第二行输入N个数(1.0≤每个数≤100.0,保留一位小数),表示每棵树的高度,每个数之间以一个空格隔开 输出描述: 输出一个整数,表示最少去掉几棵树才能使这排树呈现先递增再递减的规律,如果不能呈现则输出-1 样例输入: 10 1.0 2.3 1.2 1.7 1.1 2.0 1.8 1.8 1.2 1.9 样例输出: 4