1520 : 激光密室
时间限制Time Limit
1
秒Sec
内存限制Memory Limit
256
兆MB
提交次数Submitted
0
次Times
通过次数Solved
0
次Times
特判评测Special Judge
题目描述Description
在某秘密科研基地,你被困在一个宽为 W、高为 H 的矩形密室中。密室左下角坐标为 (0,0),右上角坐标为 (W,H),四面墙壁均为完美镜面,光线击中墙壁时发生完美反射(入射角等于反射角)。
你在点 S(s_x, s_y) 放置了一个高能激光发射器,在点 T(t_x, t_y) 放置了一个接收器。出于严格的安全通信协议,激光必须在墙壁上恰好反射 k 次后,才能被接收器正确解密与识别。
请你计算出:在所有恰好经过 k 次反射并击中接收器 T 的合法光路中,最短的光路长度是多少?
特别说明:
- 中途拦截:光线在传播过程中,如果在第 m(m < k)次反射时提前击中接收器 T,则光线被立刻吸收,路径无效;如果光线在反射中途再次经过发射器 S 自身,也会被实体阻挡而溃散,路径无效。
- 角落规避:光线射向矩形四个直角角落的路径视为非法。保证在合法最优路径中,光线不会恰好经过密室角落。
输入格式Input
一行,包含 7 个整数 W\ H\ s_x\ s_y\ t_x\ t_y\ k,相邻整数之间用空格隔开。
输出格式Output
输出一行一个实数,表示最短的合法光路长度。如果不存在满足条件的路径,则输出 -1。
本题采用 Special Judge,你的输出与标准答案的相对误差或绝对误差不超过 10^{-6} 即视为正确。
样例Sample
提示Hint
数据范围
对于 100 \% 的数据,保证:
2 \le W, H \le 10^9
0 < s_x, t_x < W,0 < s_y, t_y < H
(s_x, s_y) \neq (t_x, t_y)
1 \le k \le 500
出题Author
shepherdtoherd
来源Source
深圳技术大学第六届程序设计竞赛