您的位置:首页 > 其它

HDU 5615:Jam's math problem【模拟】

2016-03-22 17:36 239 查看


Jam's math problem

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 962    Accepted Submission(s): 464


Problem Description

Jam has a math problem. He just learned factorization.

He is trying to factorize ax2+bx+c into
the form of pqx2+(qk+mp)x+km=(px+k)(qx+m).

He could only solve the problem in which p,q,m,k are positive numbers.

Please help him determine whether the expression could be factorized with p,q,m,k being postive.

 

Input

The first line is a number T,
means there are T(1≤T≤100) cases 

Each case has one line,the line has 3 numbers a,b,c(1≤a,b,c≤100000000)

 

Output

You should output the "YES" or "NO".

 

Sample Input

2
1 6 5
1 6 4

 

Sample Output

YES
NO

Hint
The first case turn $x^2+6*x+5$ into $(x+1)(x+5)$ AC-code:
#include<stdio.h>
#include<string.h>
#include<math.h>
using namespace std;
typedef long long ll;
int main()
{
int T,flag;
long long a,b,c,k,j,i,m;
scanf("%d",&T);
while(T--)
{
scanf("%lld%lld%lld",&a,&b,&c);
flag=0;
for(i=1;i<=sqrt(a)+1;i++)
if(a%i==0)
{
for(j=1;j<=sqrt(c)+1;j++)
{
if(c%j==0)
{
k=a/i;
m=c/j;
if(i*j+m*k==b||i*m+j*k==b)
{
flag=1;
break;
}
}
}
if(flag)
break;
}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: