help -jT3挂 样例过了 但是RE+WA
#include<bits/stdc++.h>
using namespace std;
int main(){
// freopen("upe.in","r",stdin);
// freopen("uqe.out","w",stdout);
int t,m;
cin>>t>>m;
// for(int i=1;i<=cnt;i++){
// cout<<i<<' ';
// }
while(t--){
int a,b,c;
cin>>a>>b>>c;
int a1,b1,c1;
a1=a;
b1=b;
c1=c;
if(b*b-4*a*c<0){
cout<<"NO\n";
continue;
}
int d=b*b-4*a*c;
// cout<<d<<endl;
if(d==0){
if(b%(2*a)==0){
cout<<-2*a/b<<endl;
}
else{
a*=2,b*=-1;
if(a<0){
a*=-1;
b*=-1;
}
int k=abs(__gcd(a,b));
a/=k;
b/=k;
if(a==1)cout<<b<<endl;
else cout<<b<<'/'<<a<<endl;
}
}
else{
int qwe=sqrt(d);
if(qwe*qwe==d){
a*=2;
b*=-1;
b+=qwe;
if(a<0){
a*=-1;
b*=-1;
}
int k=abs(__gcd(a,b));
a/=k;
b/=k;
if(a==1)cout<<b<<endl;
else cout<<b<<'/'<<a<<endl;
}
else if(b==0){
// cout<<1;
int er=1;
for(int i=100;i>=1;i--){
int wer=i*i;
// cout<<i<<' ';
if(d%wer==0){
er*=i;
d/=wer;
}
}
// cout<<endl;
a=a1;
a*=2;
if(a<0){
er*=-1;
a*=-1;
}
int k=abs(__gcd(er,a));
er/=k;
a/=k;
if(er!=1){
cout<<er<<'*';
}
// cout<<a<<endl;
if(a==1)cout<<"sqrt("<<d<<")"<<endl;
else cout<<"sqrt("<<d<<")/"<<a<<endl;
}
else{
a*=2;
b*=-1;
if(a<0){
a*=-1;
b*=-1;
}
int k=abs(__gcd(a,b));
a/=k;
b/=k;
if(a==1)cout<<b<<'+';
else cout<<b<<'/'<<a<<'+';
int er=1;
for(int i=100;i>=1;i--){
if(d%(i*i)==0){
er*=i;
d/=i;
d/=i;
}
}
a=a1;
a*=2;
if(a<0){
er*=-1;
a*=-1;
}
k=abs(__gcd(er,a));
er/=k;
a/=k;
if(er!=1){
cout<<er<<'*';
}
// cout<<a<<endl;
if(a==1)cout<<"sqrt("<<d<<")"<<endl;
else cout<<"sqrt("<<d<<")/"<<a<<endl;
}
}
}
return 0;
}