#P2423. The Parallel Challenge Ballgame
The Parallel Challenge Ballgame
题目描述
在 2005 年 ACM/ICPC 世界总决赛之前,有一项名为“并行挑战球赛(Parallel Challenge Ballgame)”的比赛。该比赛让各队用编程技能互相竞技,规则如下:
每个队伍需提交一个名为 MyPlayer 的 C++ 类;
比赛中,每个队伍会实例化 5 个该类的对象,组成一个五人队伍;
多支队伍会在一台超级计算机(IBM Blue Gene)上进行并行对战;
比赛场地是一个矩形,由围墙包围;
场上随机分布多个球和球门(goals);
球会在遇到墙壁时反弹,反弹角度遵循光的反射原理(入射角 = 反射角);
球员可拾起球并投掷,目标是得分;
投掷的球速度很快,其他球员难以拦截;
球碰到球门的边界或内部即算得分;
球最多只允许弹墙一次。
</p>
目标
你需要编写程序来计算投掷方向中可以得分的百分比,即:从球的位置出发,考虑球在最多弹墙一次的前提下,有多少方向是能进入球门的,输出其占所有 的比例(以百分比表示,保留两位小数)。

输入格式
第一行一个整数 ,表示测试用例数量;
每个测试用例包含:
一行四个整数:,表示矩形场地对角线两个点的坐标();
一行两个整数:,表示球的位置;
一行一个整数 ,表示球门的数量();
接下来的 行,每行四个整数:,表示第 个球门的对角点坐标。
输出格式
每个测试用例输出一行,表示可得分方向占比百分数,格式如下:
28.34% (四舍五入保留两位小数)
1
100 100 -100 -100
0 0
1
10 10 -10 20
28.34%