0pts求hack
查看原帖
0pts求hack
964876
_maple_leaf_楼主2023/11/25 11:09
#include<bits/stdc++.h>
using namespace std;
int T,M;
int gcd(int a,int b){
	return b?gcd(b,a%b):a;
}
int main(){
	cin>>T>>M;
	for(int i=1;i<=T;i++){
		int a,b,c;
		cin>>a>>b>>c;
		int d=b*b-4*a*c,k=1;
		if(d<0){
			cout<<"NO\n";
			continue;
		}
		for(int i=2;i*i<=d;i++){
			while(d%(i*i)==0)k*=i,d/=(i*i);
		}
		if(d==0||d==1){
			int t=abs(gcd(2*a,-b+k*d));	
			cout<<(-b+k*d)/t;
			if(2*a/t!=1){
				cout<<"/"<<2*a/t;
			}cout<<endl;
			continue;
		}
		int t=abs(gcd(-b,2*a));
		if(-b/t==0)goto to;
		cout<<-b/t;
		if(2*a/t!=1){
			cout<<"/"<<2*a/t;
		}	
		cout<<"+";
		to:
		t=abs(gcd(k,2*a));
		if(k/t!=1)cout<<k/t<<"*";
		cout<<"sqrt("<<d<<")";
		if(2*a/t!=1)cout<<"/"<<2*a/t;
		cout<<"\n";
	}
	return 0;
}

样例过了,结果全WA了

2023/11/25 11:09
加载中...