HDU 1496 Equations 【整数Hash】
2014-12-29 01:01
429 查看
Equations
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5751 Accepted Submission(s): 2308
Problem Description
Consider equations having the following form:
a*x1^2+b*x2^2+c*x3^2+d*x4^2=0
a, b, c, d are integers from the interval [-50,50] and any of them cannot be 0.
It is consider a solution a system ( x1,x2,x3,x4 ) that verifies the equation, xi is an integer from [-100,100] and xi != 0, any i ∈{1,2,3,4}.
Determine how many solutions satisfy the given equation.
Input
The input consists of several test cases. Each test case consists of a single line containing the 4 coefficients a, b, c, d, separated by one or more blanks.
End of file.
Output
For each test case, output a single line containing the number of the solutions.
Sample Input
1 2 3 -4 1 1 1 1
Sample Output
39088 0
//整数Hash问题.常规解法需要4层for循环,显然超时。
//这里用到了 两层循环+Hash存储查找
#include<cstdio> #include<cstring> int hash[2000002]; int main() { int a,b,c,d,i,j,sum; int p[102]; for(i=1; i<=100; i++) { p[i]=i*i; } while(scanf("%d %d %d %d",&a,&b,&c,&d)!=EOF) { memset(hash,0,sizeof(hash)); if((a>0&&b>0&&c>0&&d>0)||(a<0&&b<0&&c<0&&d<0)) { printf("0\n"); continue; } for(i=1; i<=100; i++) { for(j=1; j<=100; j++) { hash[p[i]*a+p[j]*b+1000000]++; } } for(i=1,sum=0; i<=100; i++) { for(j=1; j<=100; j++) { sum+=hash[-(p[i]*c+p[j]*d)+1000000]; } } printf("%d\n",sum*16); } return 0; }
相关文章推荐
- HDU 1496 Equations(大整数的hash)
- hdu 1496 Equations (整数Hash)
- hdu 题目1496 Equations , POJ 题目1840 Eqs (整数Hash)
- hdu 1496 Equations(hash)@
- hdu 1496 整数hash
- hdu_1496_equations( 二分 or hash )
- hdu 1496 Equations (双重循环+hash查找)
- HDU 1496 Equations (hash)
- hdu 1496 Equations(hash备忘)
- HDU 1496 Equations hash HDU上排名第一!
- HDU 1496 Equations hash HDU上排名第一!
- hdu 1496 Equations(hash)
- hdu 1496 Equations(hash+暴力)
- HDOJ1496 Equations(整数hash)
- hdu 1496 Equations ——hash
- HDU_1496 Equations && POJ_1840 Eqs(Hash)
- HDU 1496 Equations(hash or 二分)
- HDU 4334 Trouble 和 HDU 1496 Equations( hash)
- Equations(HDU_1496) hash
- hdu 1496 Equations (暴力+hash)