rt,代码丑陋,到底是谁发明的大模拟这种东西啊让我这种码力为0的阴暗蒟蒻怎么活
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}
int T,m,a,b,c,l,p,q,v,A[1020],xs,xs2,wflbb;
int main(){
cin>>T>>m;
for(;T>=1;T--){
cin>>a>>b>>c,l=b*b-4*a*c;
if(l<0){
cout<<"NO\n";
continue;
}
if(int(sqrt(l))*int(sqrt(l))==l){
p=sqrt(l)-b,q=2*a,v=gcd(p,q),p=p/v,q=q/v;
if((-sqrt(l)-b)/(2*a)>p/q) p=-sqrt(l)-b,q=2*a,v=gcd(p,q),p=p/v,q=q/v;
if(p*q<0) cout<<'-';
cout<<abs(p);
if(q!=1) cout<<"/"<<abs(q);
cout<<endl;
}
else{
int i=2;
memset(A,0,sizeof(A)),xs=1,xs2=1,wflbb=1;
while(l>1){
wflbb=i;
while(l%i==0) l/=i,A[i]++;
i++;
}
for(int i=2;i<=wflbb;i++){
if(A[i]==0) continue;
xs=xs*pow(i,A[i]/2);
if(A[i]%2) xs2*=i;
}
v=gcd(-b,2*a),p=-b/v,q=2*a/v;
if(p){
if(p*q<0) cout<<"-";
cout<<abs(p);
if(abs(q)!=1) cout<<"/"<<abs(q);
cout<<"+";
}
p=xs,v=gcd(p,2*a),p=p/v,q=2*a/v;
if(abs(p)!=1) cout<<abs(p)<<"*";
cout<<"sqrt("<<xs2<<")";
if(q!=1) cout<<"/"<<abs(q);
cout<<endl;
}
}
}