测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A25759. 编程实现: 小蓝和小青在玩积木搭建游戏,具体玩法如下:小蓝报一个数字N,代表高楼的高度,小青则需要使用最少的积木搭建出高度大于N的高楼。给出小蓝所报出的数字N,及已有积木块每一块的高度,请你帮助小青找出最少需要多少块积木可以搭建出高度大于N的高楼。例如:N=12,已有4个积木块的高度分别为4,7,8,4。则最少需要2块积木,可以使搭建的高楼高度大于12,2块积木为7和8。输入描述:第一行输入一个…

填空题 较易

题目描述

编程实现:

小蓝和小青在玩积木搭建游戏,具体玩法如下:

小蓝报一个数字N,代表高楼的高度,小青则需要使用最少的积木搭建出高度大于N的高楼。

给出小蓝所报出的数字N,及已有积木块每一块的高度,请你帮助小青找出最少需要多少块积木可以搭建出高度大于N的高楼。

例如:N=12,已有4个积木块的高度分别为4,7,8,4。

则最少需要2块积木,可以使搭建的高楼高度大于12,2块积木为7和8。

输入描述:

第一行输入一个正整数N,表示小蓝报出的数字

第二行输入多个正整数,表示已有积木块每一块的高度,正整数之间以一个英文逗号隔开。(要求所有正整数之和大于N)

输出描述:

输出最少需要使用多少块积木,可以搭建出高度大于N的高楼

样例输入:

12
4,7,8,4

样例输出:

2

参考答案

#参考答案1 n=int(input()) x=input().split(',') for i in range(0,len(x)): x[i]=int(x[i]) x.sort() for i in range(len(x)-1,-1,-1): n-=x[i] if(n<0): print(len(x)-i) break #参考答案2 N = int(input()) a = eval(input()) a = list(a) a.sort() a = a[::-1] sum = 0 for i in range(len(a)+1): sum += a[i] if sum > N: break

答案解析

评分标准:

10分:能正确输出一组数据;

10分:能正确输出两组数据;

15分:能正确输出三组数据;

15分:能正确输出四组数据。

上一题 下一题