CSP2023-JT350pts求调
  • 板块灌水区
  • 楼主AC_Boy
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/21 20:49
  • 上次更新2023/11/2 12:09:06
查看原帖
CSP2023-JT350pts求调
515274
AC_Boy楼主2023/10/21 20:49
#include<bits/stdc++.h>
using namespace std;
int T,M;
int main(){
    freopen("uqe.in","r",stdin);
    freopen("uqe.out","w",stdout);
    cin>>T>>M;
    while(T--){
        int a,b,c;
        cin>>a>>b>>c;
        if(b*b-4*a*c<0)cout<<"NO"<<endl;
        else{
            int dlt=b*b-4*a*c;
            if((int)sqrt(dlt)*(int)sqrt(dlt)==dlt){
                int shang=-b+(int)sqrt(dlt);
                int xia=2*a;
                if(shang==0){
                    xia=1;
                }
                if(shang!=0){
                    int s=shang,x=xia;
                    while(s%x!=0){
                        int yv=s%x;
                        s=x;
                        x=yv;
                    }
                    shang/=x;
                    xia/=x;
                }
                if(xia<0)xia*=-1,shang*=-1;


                int shang1=-b-(int)sqrt(dlt);
                int xia1=2*a;
                if(shang1==0){
                    xia1=1;
                }
                if(shang1!=0){
                    int s=shang1,x=xia1;
                    while(s%x!=0){
                        int yv=s%x;
                        s=x;
                        x=yv;
                    }
                    shang1/=x;
                    xia1/=x;
                }
                if(xia1<0)xia1*=-1,shang1*=-1;
                if(shang/xia>shang1/xia1){
                    cout<<shang;
                    if(xia!=1)cout<<"/"<<xia<<endl;
                }
                else{
                    cout<<shang1;
                    if(xia1!=1)cout<<"/"<<xia1<<endl;
                }
            }
        }
    }
    return 0;
}

2023/10/21 20:49
加载中...