2022年12月蓝桥杯蓝桥Python(STEMA)中/高级
STEMA
2022
2024-01-16 18:34:13
30次
一、单选题
二、编程题
编程实现:
有N(2≤N≤80)堆玻璃球,且已知每堆玻璃球的数量。小明每次只能从其中一堆玻璃球中拿出1颗或者2颗。
请你帮助小明计算出,最少需要拿多少次才能把N堆玻璃球全部拿完。
例如:
N = 3,3堆玻璃球的数量分别为6,5,3,最少需要拿8次,具体拿法如下:
6颗的玻璃球最少需要拿3次,第一次拿2个,第二次拿2个,第三次拿2个;
5颗的玻璃球最少需要拿3次,第一次拿2个,第二次拿2个,第三次拿1个;
3颗的玻璃球最少需要拿2次,第一次拿2个,第二次拿1个。
输入描述:
第一行输入一个正整数N(2≤N≤80),表示玻璃球总堆数
第二行输入N个正整数(1≤正整数≤50),分别表示每堆玻璃球的数量,正整数之间以一个英文逗号隔开
输出描述:
输出一个整数,表示拿完N堆玻璃球最少需要拿取的次数
样例输入:
3 6,5,3
样例输出:
8
【知识点】 蓝桥杯Python中/高级
编程实现:
一条笔直的公路沿途有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
【知识点】 蓝桥杯Python中/高级
编程实现:
某比赛有N(2≤N≤50)名选手参加,给定每名参赛选手的编号(1到N)和比赛得分(0≤得分≤100),请按照分数从高到低的顺序排序,如果分数相同就按照编号排序,编号小的排前边。
输入描述:
第一行输入一个正整数N(2≤N≤50),表示参赛人数
第二行开始,共输入N行,每行两个正整数,分别表示参赛选手的编号和比赛得分(0≤得分≤100),正整数之间以一个空格隔开
输出描述:
按照排序规则,输出N行,每行两个正整数,分别表示编号和得分,正整数之间以一个空格隔开
样例输入:
3 3 84 1 87 2 84
样例输出:
1 87 2 84 3 84
【知识点】 蓝桥杯Python中/高级
