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分:能正确输出四组数据。
上一题
下一题