题目名称 | 2646. [SHOI 2015] 激光发生器 |
---|---|
输入输出 | shoilaser.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 20 |
题目来源 | Robin_Lu 于2017-03-30加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:0, 提交:0, 通过率:0% | |||
关于 激光发生器 的近10条评论(全部评论) |
---|
曾经发明了超能粒子炮·改的发明家SHTSC又公开了他的新发明:激光发生器--一种可以产生高能激光的神秘装置 。
激光发生器从正上方看是一个无穷大的平面,里面由一个定向激光发射装置和若干个激光偏转装置组成。一个激光发生器的示例如图所示,细箭头表示定向激光发射装置,粗线段表示激光偏转装置。
由定向激光发射装置发射出的激光可以看成是一条射线,如果遇到激光偏转装置就会发生偏转。奇特的是,SHTSC 所使用的激光偏转装置并非像传统的镜子那样遵循反射定律,而是对于每个激光偏转装置,有一个固定的偏转系数 λ,其出射角β与入射角α的关系为β=λα,并且能在这一过程中增强激光的能量。(入射角是入射光线和反射 平面法向量的夹角。)注意:
1、偏转装置的两面均可偏转。
2、如果激光平行射入偏转装置,则认为没有发生偏转 。
3、如果不平行且照射到了端点则认为发生偏转。
4、可能会偏转到另一面。
现在SHTSC希望你模拟他所设计的激光发生器的工作过程,来帮助他计算激光究竟被哪些激光偏转装置所偏转。
第一行四个整数x,y,dx,dy。表示定向激光发射装置的位置是(x,y),方向是(dx,dy)。
第二行一个整数n,表示一共有n个激光偏转装置。
以下n行,每行五个整数x1,y1,x2,y2,a,b表示一个激光偏转装置是(x1,y1)到(x2,y2)的一条线段其偏转系数λ=a/b。
一行由空格隔开的若干个整数,表示激光依次照射到的激光偏转装置的编号(按照输入顺序从1到n编号)。
如果激光被偏转超过10次,则只需输出前10次所照射到的偏转装置的编号。特别地,如果激光没有被任何一个偏转装置所偏转,输出NONE。
0 2 1 0 2 0 4 3 1 1 1 4 0 0 -4 1 1
1 2
n<=100,所有坐标与a和b的绝对值不超过1000,a、b均非0。
保证所有的偏转装置没有交点。激光发射起始点不在任何偏转装置上。方向向量不为零向量。