#P14824. [ICPC 2023 Yokohama R] Probing the Disk
[ICPC 2023 Yokohama R] Probing the Disk
Description
这是一道交互题。
一个薄薄的黑色圆盘平放在一个白色盒子的方形底部。盒子底部的边长是 个单位。
出于某种原因,你不被允许直接观察盒子内部,但你想知道这个圆盘有多大以及它放在盒子底部的什么位置。你知道这个圆盘是一个标准的圆形,半径为整数单位,不小于 个单位,并且其圆心到盒子底部各边的距离也是整数单位。当然,圆盘的半径不大于其圆心到盒子底部任意一边的距离。
你可以通过向盒子底部投射一条细长的光线线段来探测这个圆盘。由于圆盘和盒子底部的反射系数差异很大,从整体反射强度中,你可以判断出线段照射到圆盘部分的长度。
你的任务是通过重复探测来确定圆盘的确切位置和大小。
交互
你可以重复进行探测,每次探测包括发送一个查询和接收其响应。你最多可以探测 次。
查询应以以下格式发送到标准输出,后跟一个换行符。
这里, 和 是光线线段两个端点的位置。它们必须表示不同的点。坐标系设定为盒子底部的一个角是原点 ,对角顶点的坐标是 。、、 和 都必须是 到 之间(含)的整数。
响应此查询后,一个实数将发送到标准输入,后跟一个换行符。该数字表示线段照射到圆盘部分的长度。它以十进制表示,不带指数部分,小数点后保留 位数字。该数字可能包含不超过 的绝对误差。
当你通过探测确信圆盘的位置和大小时,你可以发送答案。答案应包含圆盘的中心位置和半径。它应以以下格式发送到标准输出,后跟一个换行符。
这里, 应是圆盘中心的位置, 是圆盘的半径。、 和 都必须是整数。
发送答案后,你的程序应终止,不得有任何额外输出。因此,你只能发送一次答案。
交互判题说明
当你的输出违反上述任何条件时(答案错误、格式无效、、、 或 超出范围、查询次数过多、发送答案后有额外输出等),你的提交将被判为错误答案。由于某些环境要求刷新输出缓冲区,请确保你的输出实际被发送。否则,你的输出将永远不会到达判题机。
我们提供了一个命令行工具用于本地测试。更多详情,请参阅竞赛系统中的说明。
60000.0000000
0.0000000
12315.3774869
query 40000 0 40000 100000
query 0 10000 100000 10000
query 60000 60000 80000 80000
answer 40000 60000 30000
Hint
:::align{center}

图 K.1. 样例交互 :::
京公网安备 11011102002149号