#P1021. [CSP-J 2023] 一元二次方程

[CSP-J 2023] 一元二次方程

对于每个整系数方程

ax2+bx+c=0,ax^2+bx+c=0,

输出较大的实根;若无实根,则输出 NO\texttt{NO}

有理数必须化为分母为正的最简分数;当分母为 11 时只输出整数。

无理根唯一写成 q1+q2rq_1+q_2\sqrt{r},其中 q2>0q_2>0r>1r>1 且不含平方因子。若 q10q_1\ne0,先输出其最简形式和字符 ++;否则省略。根式部分的输出规则为:系数为 11 时写作 sqrt(r)\texttt{sqrt(r)};整数系数 c>1c>1 时写作 c*sqrt(r)\texttt{c*sqrt(r)};系数为 1/d1/d 时写作 sqrt(r)/d\texttt{sqrt(r)/d};其余最简系数 c/dc/d 写作 c*sqrt(r)/d\texttt{c*sqrt(r)/d}。其中的 c,d,rc,d,r 均应替换为实际整数,答案中不得出现空格。

输入格式

第一行包含两个整数 T,MT,M

接下来 TT 行,每行包含三个整数 a,b,ca,b,c

输出格式

对每个方程输出一行,严格按题目要求的格式给出答案。

样例 1

9 1000
1 -1 0
-1 -1 -1
1 -2 1
1 5 4
4 4 1
1 0 -432
1 -3 1
2 -4 1
1 7 1
1
NO
1
-1
-1/2
12*sqrt(3)
3/2+sqrt(5)/2
1+sqrt(2)/2
-7/2+3*sqrt(5)/2

数据范围与原题特殊限制

对于所有数据有:1T50001 \leq T \leq 50001M1031 \leq M \leq 10^3a,b,cM|a|,|b|,|c| \leq Ma0a \neq 0

测试点编号 MM \leq 特殊性质 A 特殊性质 B 特殊性质 C
11
22 2020
33 10310^3
44
55
66
7,87, 8
9,109, 10

其中:

  • 特殊性质 A:保证 b=0b = 0
  • 特殊性质 B:保证 c=0c = 0
  • 特殊性质 C:如果方程有解,那么方程的两个解都是整数。

来源与数据说明

原题页面。以上题意为重新整理的表述,规则、输入输出和约束与原题一致。本题使用独立生成的训练数据,原题测试点表仅说明原比赛范围与特殊性质,本包评分不复刻官方测试点分布。标准输入输出,不要求文件读写。