代码:
#include<bits/stdc++.h>
using namespace std;
long long t=0,m=0,a=0,b=0,c=0;
int _gcd(int n,int m){
if(n<m){
swap(n,m);
}
if(m==0){
return n;
}
return _gcd(m,n%m);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t>>m;
while(t--){
cin>>a>>b>>c;
long long duita=b*b-4*a*c;
if(duita<0){
cout<<"NO\n";
continue;
}
if(int(sqrt(duita))*int(sqrt(duita))==duita){
long long p=0-b+sqrt(duita),q=2*a,gcd=_gcd(abs(p),abs(q));
p/=gcd,q/=gcd;
if(q==1){
cout<<p<<"\n";
}else{
if(p<0||q<0){
if(p<0&&q<0){
cout<<abs(p)<<"/"<<abs(q)<<"\n";
}else{
cout<<0-abs(p)<<"/"<<abs(q)<<"\n";
}
}
else{
cout<<p<<"/"<<q<<"\n";
}
}
}else{
long long p=0-b,q=2*a,gcd=_gcd(abs(p),abs(q));
p/=gcd,q/=gcd;
if(q==1&&p!=0){
cout<<p<<"+";
}else if(p!=0&&q!=0){
if(p<0||q<0){
if(p<0&&q<0){
cout<<abs(p)<<"/"<<abs(q)<<"+";
}else{
cout<<0-abs(p)<<"/"<<abs(q)<<"+";
}
}
else{
cout<<p<<"/"<<q<<"+";
}
}
p=1,q=2*a,gcd=0;
for(int i=sqrt(duita);i>=2;i--){
if(duita%(i*i)==0){
duita/=i*i;
p*=i;
}
}
gcd=_gcd(abs(p),abs(q));
p/=gcd,q/=gcd;
if(q==1&&p==1){
cout<<"sqrt("<<duita<<")\n";
}else if(q==1){
cout<<p<<"*sqrt("<<duita<<")\n";
}else if(p==1){
cout<<"sqrt("<<duita<<")/"<<q<<"\n";
}else{
cout<<p<<"*sqrt("<<duita<<")/"<<q<<"\n";
}
}
}
return 0;
}