题库首页 › 蓝桥杯大赛(C语言) › 题目 14678

热气球 题目描述: 某景区推出了一项热气球体验项目,目前有 n 组游客在等待乘坐热气球,且每组游客人数都不超过 4 人。 每个热气球的最大载客量为 4 人。 需要注意的是,同一组游客必须乘坐同一个热气球,而且只要人数不超过最大载客量,一个热气球可以容纳多组游客。 请你计算该景区最少需要准备多少个热气球,才能让 n 组游客同时乘坐上热气球。 例如:n = 7,7 组游客的人数分别是 3、2、1、2、1、4、2;要让所有游客同时乘坐上热气球,最少需要准备 4 个热气球,其中一种最优分组方案如下: 第 1 组(3 人)和第 3 组(1 人)乘坐第一个热气球; 第 2 组(2 人)和第 4 组(2 人)乘坐第二个热气球; 第 5 组(1 人)和第 7 组(2 人)乘坐第三个热气球; 第 6 组(4 人)乘坐第四个热气球。 输入描述: 第一行输入一个整数 n(1≤n≤105),表示游客的组数; 第二行输入 n 个整数(1≤整数≤4),表示每组游客的人数,整数之间以一个空格隔开。 输出描述: 输出一个整数,表示该景区最少需要准备的热气球的数量。 样例输入: 7 3 2 1 2 1 4 2 样例输出: 4

正确答案:参考程序(Python):热气球最少。统计cnt1..4;ans=cnt4+cnt3+cnt2//2;3配1消1,2余1配2个1,最后1打包。样例→4。核心:分组贪心。

试卷来源:202411(第16届)蓝桥杯C++编程青少组(选拔赛_中高级)真题

本卷相关题目

在线做题 同科目题库