算法与程序设计——摆放钢轨

阅读: 评论:0

算法与程序设计——摆放钢轨

算法与程序设计——摆放钢轨

问题:一个博物馆收藏了不同的火车,不同地区的火车需要的铁路宽度是不一样的。现在这个博物馆为了陈列火车需要一些铁路。 每条铁路可以看作是由两根平行钢轨组成的,只要把两条钢轨的距离摆放合适了,就可以放置对应的火车。
这个博物馆每次只展示一列火车,所以可以减少所需钢轨的数量。比如,如果有n列火车,他们需要的铁路宽度都不相同,那么只需要n+1条轨道就一定可以让每列火车都能够摆放。

方法如下:把一条轨道放在最左边,剩下的n条钢轨里, 第i条距离最左边轨道的距离和第 i 列火 车需要的铁路宽度一样, 这样 以让每列火车都能够摆放.方法如下:把-条轨道在最左边,剩下的n条钢轨里,第i条距离最左边轨道的距离和第i列火车需要的铁路宽度--样,这样
n+1条铁轨就能够放 下所有列车了。
但是,巧妙的安排可以让所需的钢轨数量小于n + 1。 你的任务,就是给定一些火车所需要的铁路宽度, 找出所需的最少钢轨数目,使得每列火车都能够放置。
[输入形式] 
每个测试用例第一行包含一个整数n, 表示火车所需要的铁路宽度的个数。接下来的一行有1 < =n <= 8个1000 到5000 之间的整数, 每个整数表示一个所需要 的铁路宽度的个数.
[输出形式]
对每个测试用例输出一个整数,表示所需要的钢轨数量。 
[样例输入] 

4
1524 1520 1609 1435 1524 1520 1609 1435
[样例输出]

4

源码:

#include<bits/stdc++.h>
using namespace std;
#define sz(x) (x).size()
const int N = 5e6+10;
int a[10],n,a

本文发布于:2024-02-03 06:22:14,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691253249217.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:钢轨   程序设计   算法
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23