#P47. Ordainer of Inexorable Judgment
Ordainer of Inexorable Judgment
题目描述
那维莱特是枫丹的最高审判官,因其无懈可击的「秉公无私」而闻名。作为世界著名游戏《原神》中的可玩角色,他以其强大的蓄力攻击而闻名,该类攻击可以一次性击中特定范围内的敌人。
由于他非常强大,许多玩家在挑战几乎每个任务时都会使用他。然而,提瓦特中并非所有人都对此感到高兴,尤其是其他 ADC(主要输出角色),比如神里绫华、刻晴等。于是,他们决定说服米哈游在游戏中削弱那维莱特。为此,他们必须提交一份关于那维莱特在一些场景下的伤害报告。
每个战斗场景都发生在一个二维平面上。那维莱特站在(),最初面朝(),进行持续 单位时间 的蓄力攻击,并以每单位时间 弧度的速度逆时针旋转。也就是说,那维莱特会在 单位时间内逆时 针转一圈。
考虑从()指向那维莱特面朝方向的射线,攻击范围是距离射线最多为d的点的集合。如果目标(一个凸多边形)与攻击范围有公共点,它将每单位时间受到 点持续伤害。
作为一名经验丰富的程序员,您被绫华召唤。这次,您的任务是计算目标在前 单位时间内所遭受的伤害。
输入格式
每个测试文件仅有一组测试数据。
第一行输入五个整数 ,,, 和 (,,) 。
对于接下来 行,第行输入两个整数 和 (),表示凸多边形第 个顶点的坐标。
所有 个顶点按逆时针顺序给出,并且任意三个顶点不共线。另外保证该形状与以()为中心、半径为 的圆没有公共点。也就是说,不存在一个点既在凸多边形的内部或边界上,同时又在圆的内部或边界上。
输出格式
输出一行一个实数,表示目标在前 单位时间内所遭受的伤害。
当你的输出与标准答案的绝对误差或相对误差不超 时,你的输出将会被判定为正确。
具体地说,令你的答案为 ,标准答案为 。你的答案被认为是正确的当且仅当 $\frac{\left|a-b\right|}{max{(1,\left|b\right|)}}\le10^{-6}$ 。
3 1 0 1 1
1 2
2 1
2 2
1.000000000000
3 1 0 1 2
1 2
2 1
2 2
1.570796326795
3 1 0 1 10000
1 2
2 1
2 2
2500.707752257475
解释 #1
下图同时展示了各个样例数据的初始状态。
