2136. 黑吗喽学棍法

黑吗喽仰慕齐天大圣,希望有朝一日可以成为像孙悟空一样的猴王——

但是很可惜,他既不会大圣的七十二般变化,也没有如意金箍棒一样伸缩自如的神器。于是,他决定从最简单的扫棍开始练习。

黑吗喽发现,在扫棍进行的过程中,可以将自己视为一个定点,即棍子绕轴旋转的轴心,而他可以任意持握棍棒上的任意一点(包括端点)。

由于黑吗喽悟性极高,通过简单的练习后,他就轻松练成了二维平面内 360 度全方位扫棍。

但是棍子的长度毕竟是有限的,黑吗喽想知道,在自身不移动的前提下,他能否攻击到某个坐标的敌人。

注意:为了定位坐标系,本题声明以棍子的“左端点”作为“坐标系原点”,即 (0,0)

形式上,在一个二维坐标系上,有长度为 L 的线段,左端点在 (0,0),右端点在 (L,0)

问该线段能否绕线段上一"支点"旋转,使得点 (x,y) 在该线段上,若可以,则输出"YES",并输出"支点"的横坐标,否则输出"NO"

输入

第一行输入一个整数 T (1\leq T \leq 5 \cdot 10^4),表示测试用例的数量

每组测试用例输入三个整数 L,x,y (1 \leq L \leq 10^5, -10^5 \leq x, y \leq 10^5)

输出

对于每个测试用例,若有满足条件的点,在第一行输出 YES ,第二行输出该点横坐标(如果有多个答案,则输出任意一个),否则仅输出一行输出 NO

黑吗喽还是懂一些英文的,所以你输出的 yes , no 是大写小写都无所谓咯,也就是说输出 Yes , yES 等均被视作 YES

样例

标准输入 复制文本
3
5 3 1
5 2 1
5 3 6
标准输出 复制文本
YES
3.114514
YES
2.114514
NO

来源

2024 华南师范大学百度杯新生赛 正式赛 Div.2 新生赛道

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 895
通过 99