本文介绍了我该如何编码呢?基于动态编程的算法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
贵公司正在p [0],p [1],...,p [n-1]点的直线铁路线上建造手机信号塔。公司必须为工人建造临时房屋,并希望确保两个条件:(i)从每个点p [i],到最近房屋的距离应至多为k; (ii)临时房屋的数量应尽可能小。
输入:输入将由若干行组成,每行包含一个如下数字:
第一行将具有数字n(0
第二行将具有数字k(0 接下来的n行将包含值
p [0]
p [1]
:
p [n1 ](每行一个值)
注意:数字p [0],p [1],...,p [n-1]未排序,并且对于i的每个值,0< ; p [1] - GT;< 10n。
输出:编写一个程序,按照增加的顺序打印构建房屋的(整数)位置,每行一个整数。您还必须确保您的程序满足上述条件(i)和(ii)。您的程序应打印NOTHING ELSE。
下面给出了一些示例输入和输出。请注意,程序的输出不需要与这些输出完全匹配 - 重要的是满足条件(i)和(ii)并且数字以增加的顺序打印。
样本输入1:
5
3
15
8
9
1
12
样品输出1:
1
10
15
解决方案
这篇关于我该如何编码呢?基于动态编程的算法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!