剛剛DEBUG了很久...
本來一直想是不是我想法太簡單, 所以在查方法...
就在我要重寫的時候, 突然發現了天大的笑話XD
然後改了小地方就過了, QQ害我NA超多次
大家也來找碴吧XD
/**********************************************************************************/
/* Problem: a453 "TOI2010 第一題:一元二次方程式" from 2010 TOI 研習營初選*/
/* Language: CPP (421 Bytes) */
/* Result: NA(score:0) judge by this@ZeroJudge */
/* Author: saitor362320 at 2012-09-03 00:01:06 */
/**********************************************************************************/
#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n){
float a,b,c;
for(int i=0;i<n;++i){
cin >> a >> b >> c;
float q = b*b-4*a*c;
if(q<0)
cout << "NO" <<endl;
else{
float Q = sqrt(q);
int T = int(Q);
if(Q==T)
cout << "Yes" << endl;
else
cout << "NO" <<endl;
}
}
}
}
剛剛DEBUG了很久...
本來一直想是不是我想法太簡單, 所以在查方法...
就在我要重寫的時候, 突然發現了天大的笑話XD
然後改了小地方就過了, QQ害我NA超多次
大家也來找碴吧XD
/**********************************************************************************/
/* Problem: a453 "TOI2010 第一題:一元二次方程式" from 2010 TOI 研習營初選*/
/* Language: CPP (421 Bytes) */
/* Result: NA(score:0) judge by this@ZeroJudge */
/* Author: saitor362320 at 2012-09-03 00:01:06 */
/**********************************************************************************/
#include
#include
#include
using namespace std;
int main()
{
int n;
while(cin>>n){
float a,b,c;
for(int i=0;i
cin >> a >> b >> c;
float q = b*b-4*a*c;
if(q<0)
cout << "NO" <
else{
float Q = sqrt(q);
int T = int(Q);
if(Q==T)
cout << "Yes" << endl;
else
cout << "NO" <
}
}
}
}
哪裡阿
if(Q==T)改成if(T*T==q)
因為sqrt不一定精準
如果直接用Q和T比容易出錯