小球下落


  这是一个基于如下图装置的一个游戏。

          

  装置包括一组水平放置的,高度不同的,长度不同的平板。地板被视为高度最低的平板。

  在0时刻,从一个给定的位置,一个小球自由落下。小球以一个固定的每秒1米的速度下落。当小球到达某一平板后,它可以根据游戏者的选择,以同样的速度(每秒1米)滚向左端或右端。当它到达平板的边缘时,它继续垂直下落。小球不允许一次(在两块平板之间)下落超过Max米。

  任务

  编写一个程序找出一个小球在平板上滚动的方法,使得不中断的尽快的到达地面。

  输入

  File name: FALL.IN

  第一行: N X Y MAX

  · 四个整型数―― 平板的数目,小球起始位置的x,y坐标,最大允许下落的距离

  第2..N+1行:

  · 三个整型数-第i个平板被放置在 高度,水平位于(包括 ),(< , i=1..N).

  注意:

  · 小球的直径和平板的厚度忽略不计。如果小球恰好落到平板的边缘则被认为一次下落到该平板。
  · 任意两块平板不存在公共点
  · 测试数据总存在解
  · 所有给定的尺寸均为米


  输出

  File name: FALL.OUT

  第一行:时间

  · 一个整数,小球到达地面的时间

  接下来每行为:

  P T D
  · 三个整数,表示在T时刻,小球撞及平板P,并且向方向D滚动 (0表示左,1表示右)。
  · 不包含撞及地面的情况
  · 必须按小球撞及平板的时间递增顺序输出

  注意

  · 可能有多解,只要求出一种解。

  限制

  · 1 N 1000
  · -20000,20000 (i=1..N)
  · 0 < < Y 20000

  Example

  FALL.IN    FALL.OUT
  3 8 17 20    23
  0 10 8       2 4 1
  0 10 13     1 11 1
  4 14 3      3 16 1

 
 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有