SGU 110 Dungeon 翻译

110. Dungeon

每个测试点时间限制: 1 sec.    
每个测试点内存限制: 4096 KB

 

太空探险家的任务是在在M星球上发现地牢。地牢的大厅是一个充满光亮的球面。探险家们发现光线在球面上反射准寻一个普遍的定律(入射角等于出射角,入射光线,反射光线和垂直反射面的线(译者:也许是法线吧)在同一平面上。)根据一个古老的传说,当光线按照适当的顺序进行反射时,同往装有珍贵的古老的知识的房间的门就会被打开。你不是去猜正确的序列,你的任务要简单得多。你会得到球面的位置和半径,射线被射出的位置和射线被传播的方向,然后你需要找到反射的球面的集合。

 

输入

第一行的包含一个整数n (1≤n≤50) - 球面的总数。接下来的n行包含坐标和半径xi, yi, zi, ri (这些数字的绝对值都小于等于10000)。最后一行包含6个整数 - 两个点的坐标。第一个点的坐标给出射线出发的位置,第二个坐标给出它的方向。(第二个坐标是射线上的一个点)。第一个点是严格的确定在任何一个面之外。

 

输出

你的程序必须输出面的集合 (面由1开始,按照输入的顺序命名。)按照反射的顺序输出。如果光线反射超过了10次,那你只输出前十个,然后用空格分割再输出单词'etc.' (不包含引号)。注意:如果光线于球面相切那么你必须假设它被那个面反射了。

 

样例输入1

1 
0 0 2 1 
0 0 0 0 0 1

 

样例输出1

1

样例输入2

2 
0 0 2 1 
0 0 -2 1 
0 0 0 0 0 100

 

样例输出2

1 2 1 2 1 2 1 2 1 2 etc.

================================华丽的分割线 ================================

  貌似用到了空间向量,学校里还在学这玩意儿,暂时先不些吧,过阵子再回来捡。2011年6月11日 13:19:33

posted @ 2011-06-11 10:59  zqynux  阅读(451)  评论(1编辑  收藏  举报