#P2500. Pia's Party

    ID: 1502 远端评测题 2000ms 64MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>计算几何TUD Programming Contest 2005 (Training Session)DarmstadtGermany

Pia's Party

本题没有可用的提交语言。

描述

背景

皮娅(Pia)想为她的生日派对搭建音响系统。派对将在一个圆形区域举行,因为皮娅认为圆形是最美的二维图形。皮娅有四个扬声器,她可以将其放置在圆形区域的圆周上的某些点上。根据她丰富的派对经验,她知道人们只会在四个扬声器所围成的区域内跳舞。由于她希望舞池尽可能大,所以她想要最大化由四个扬声器所构成的四边形的面积。你能帮助皮娅吗?

问题

给定一个直径为dd的圆,其圆周上均匀分布着nn个点。这些点按顺序围绕圆编号为0,1,2,,n10, 1, 2, \ldots, n - 1。在这nn个点中,有cc个点适合放置扬声器。这些点由生成函数(gk)modn(g * k)\bmod n给出,其中k{0,1,2,,c1}k \in \{0, 1, 2, \ldots, c - 1\} 。给定整数ddnnccgg,你需要计算通过在合适的点上放置四个扬声器所能形成的最大面积。

输入

第一行包含测试用例的数量。

每个测试用例由单独的一行组成,包含四个用空格分隔的整数。这些数字按顺序的含义如下:

  • 圆的直径dd1d10001 \leq d \leq 1000)。
  • 圆上的点数nn4n1094 \leq n \leq 10^{9})。
  • 适合放置扬声器的点数cc4c10004 \leq c \leq 1000cnc \leq n)。
  • 生成函数中的数字gg1gn1 \leq g \leq n),ggnn互质(例如,它们没有大于1的公约数)。

输出

每个测试用例的输出以一行 “Scenario #i:” 开头,其中ii是从1开始的测试用例编号。

然后打印一行,包含皮娅能为她的舞池获得的最大面积。将这个面积四舍五入到小数点后六位。每个测试用例的输出以一个空行结束。

输入数据1

4
10 13 4 3
20 31 6 5
1000 80000 50 3
100 1200 20 139

输出数据1

Scenario #1:
48.914286

Scenario #2:
179.100273

Scenario #3:
0.028490

Scenario #4:
4965.155900

来源

2005年德国达姆施塔特工业大学编程竞赛(训练赛)