问题标题: 其他:连接(connect)-庐阳区T4

0
1
已解决
季鸿天
季鸿天
新手守护
新手守护

题目描述 N个钢管,各有各的长度,现在想尽可能焊接成一 根长度为L的旗杆,当然有可能不能正好 拼接出这个长度,但是要求尽可能接近这个长度,长一点或短一点也是可以, 请你找出最 好的方案。 输入格式 第一行两个整数, N和L。 第二行N个整数,表示N个钢管的长度。 输出格式 一个整数,为最佳拼接的长度同期望旗杆长度的差值的绝对值。 输入输出样例 输入样例1:复制 5 16 3 1 3 5 6 输出样例1:复制 1 说明 数据范围:N<=20

怎么做??大佬们


0
已采纳
张洪睿
张洪睿
资深光能
资深光能

我是用递归来写的

首先需要定义int类型的n、a数组(开到25)、 l还有ans(赋值为0x3f3f3f3f),注意是全局变量

然后输入n和l,以及a数组的n个数

再是使用f函数,形参是1,0

最后,输出ans,主函数就结束了

f函数部分:(形参有两个,分别是p和sum

判断:如果p比n大,那么ans变成 ans 和 s减l的绝对值 中的最小值

在f函数调用本身,形参是p加1sum加a[p]

再调用一次,形参是p加1sum

0
0
0
我要回答