社区讨论
求助
学术版参与者 1已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mi7x8lnh
- 此快照首次捕获于
- 2025/11/21 05:06 4 个月前
- 此快照最后确认于
- 2025/11/21 05:06 4 个月前
小球下落(FALL)
提交文件名:FALL.PAS
问题描述:
这是一个基于如下图装置的游戏。
装置包括一组水平放置的,高度不同的,长度不同的平板。地板被视为高度最低的平板。
在0时刻,从一个给定的位置,一个小球自由落下。小球以一个固定的每秒1米的速度下落。当小球到达某一平板后,它可以根据游戏者的选择,以同样的速度(每秒1米)滚向左端或右端。当它到达平板的边缘时,它继续垂直下落。小球不允许一次(在两块平板之间)下落超过MAX米。
编写一个程序找出一个小球在平板上滚动的方法,使得不中断的尽快的到达地面。
输入文件(FALL.IN):
输入文件的第一行有四个整型数: N,X,Y,MAX,其中N(1≤N≤20)为平板的数目,小球起始位置的X,Y坐标(0≤X,Y≤1000),最大允许下落的距离MAX 。以下N行,每行为X1i,X2i,Hi 三个整数,表示第i个平板被放置在Hi 高度,水平位于X1i 与X2i 。
注意:
· 小球的直径和平板的厚度忽略不计。如果小球恰好落到平板的边缘则被认为一次下落到该平板;
· 任意两块平板不存在公共点;
· 测试数据总存在解;
· 所有给定的尺寸均为米;
输出文件(FALL.OUT):
第一行为一个整数,小球到达地面的时间。
接下来每行为:P,T,D 三个整数,表示在T时刻,小球撞及平板P,并且向方向D滚动 (0表示左,1表示右)。 不包含撞及地面的情况,并且必须按小球撞及平板的时间递增顺序输出。可能有多解,只要求出一种解。
输入输出样例:
FALL.IN
3 8 17 20
0 10 8
0 10 13
4 14 3
FALL.OUT
23
2 4 1
1 11 1
3 16 1
回复
共 3 条回复,欢迎继续交流。
正在加载回复...