滑块问题,求一个算法

喵一只 2014-08-25 03:23:44
给定一个长度为100厘米的滑杆,设滑杆一头为起点,坐标为0,另外一头为终点,坐标为100,在滑杆上有N(5 <= N <= 10)个滑块,滑块的编号i从左往右分别为0,1,...,N-1,滑块可以向左右两个方向滑动,当一个滑块与另外一个滑块发生碰撞时会立刻反方向滑动并且速度不变,滑块只能从滑杆的两头掉落,滑块的宽度不予考虑。滑块的数目及位置信息由XML输入,滑块初始位置不会重叠且两两滑块间距均大于1厘米,滑块的初始运动方向随机, 但速度均恒定为1厘米/秒,设最后一个滑块离开滑杆的时间为T,编写程序实现获取T的最小值和最大值,以及滑块可能发生碰撞的最大次数。
例如
滑块位置:8,23,45,58,69,82
最大时间:92
最小时间:45
最多碰撞次数:9
...全文
321 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝晨大菜鸟 2014-08-27
  • 打赏
  • 举报
回复
引用 3 楼 lss1007472173 的回复:
[quote=引用 2 楼 u011464534 的回复:] 1、最短时间:只要计算距离端点位置最远的那个物体的距离就可以了。 2、最长时间:根据相互碰撞后速度相反 交换后便表示直接穿过,也就是计算最长点那个距离就可以 3、最多碰撞次数:根据第二点、可以认为物品一直往同一方向前进 其它物品都会与他相撞,这样我们只要计算端点的两个物品运动过程中最多与几个物品相撞了,也就是 5+5-1(表示他们彼此相撞)=9。
最短时间这个理解了,最长时间这个和滑块个数的奇偶有没有关系啊?[/quote] 第三点:如果明白了第二点就很好理解了,两个物体速度大小相等方向相同 他们是不会相遇的,也就是说只有方向相反的两个物体才能发生碰撞。 碰撞次数 公式=RXL && R+L=N 求最大值 。
蓝晨大菜鸟 2014-08-25
  • 打赏
  • 举报
回复
引用 3 楼 lss1007472173 的回复:
[quote=引用 2 楼 u011464534 的回复:] 1、最短时间:只要计算距离端点位置最远的那个物体的距离就可以了。 2、最长时间:根据相互碰撞后速度相反 交换后便表示直接穿过,也就是计算最长点那个距离就可以 3、最多碰撞次数:根据第二点、可以认为物品一直往同一方向前进 其它物品都会与他相撞,这样我们只要计算端点的两个物品运动过程中最多与几个物品相撞了,也就是 5+5-1(表示他们彼此相撞)=9。
最短时间这个理解了,最长时间这个和滑块个数的奇偶有没有关系啊?[/quote] 这个是没有关系的,你从速度的角度来考虑,你会发现不管他们碰撞多少次一组速度的方向与大小都是没有变的。还是以原来的方向和大小运动。所有你只要考虑最远距离就可以了。
蓝晨大菜鸟 2014-08-25
  • 打赏
  • 举报
回复
2.第二点你想象下他们是碰撞了但是速度交换了 和他们直接彼此穿过意义是一样的。
引用 3 楼 lss1007472173 的回复:
[quote=引用 2 楼 u011464534 的回复:] 1、最短时间:只要计算距离端点位置最远的那个物体的距离就可以了。 2、最长时间:根据相互碰撞后速度相反 交换后便表示直接穿过,也就是计算最长点那个距离就可以 3、最多碰撞次数:根据第二点、可以认为物品一直往同一方向前进 其它物品都会与他相撞,这样我们只要计算端点的两个物品运动过程中最多与几个物品相撞了,也就是 5+5-1(表示他们彼此相撞)=9。
最短时间这个理解了,最长时间这个和滑块个数的奇偶有没有关系啊?[/quote]
喵一只 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 u011464534 的回复:
1、最短时间:只要计算距离端点位置最远的那个物体的距离就可以了。 2、最长时间:根据相互碰撞后速度相反 交换后便表示直接穿过,也就是计算最长点那个距离就可以 3、最多碰撞次数:根据第二点、可以认为物品一直往同一方向前进 其它物品都会与他相撞,这样我们只要计算端点的两个物品运动过程中最多与几个物品相撞了,也就是 5+5-1(表示他们彼此相撞)=9。
最短时间这个理解了,最长时间这个和滑块个数的奇偶有没有关系啊?
蓝晨大菜鸟 2014-08-25
  • 打赏
  • 举报
回复
1、最短时间:只要计算距离端点位置最远的那个物体的距离就可以了。 2、最长时间:根据相互碰撞后速度相反 交换后便表示直接穿过,也就是计算最长点那个距离就可以 3、最多碰撞次数:根据第二点、可以认为物品一直往同一方向前进 其它物品都会与他相撞,这样我们只要计算端点的两个物品运动过程中最多与几个物品相撞了,也就是 5+5-1(表示他们彼此相撞)=9。
喵一只 2014-08-25
  • 打赏
  • 举报
回复
顶啊

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧