HASH入门 POJ1840

来源:互联网 发布:java 网站源码 编辑:程序博客网 时间:2024/04/29 18:59
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <algorithm>#include <cmath>using namespace std;short hash[25000001];int main(){long long ans;int a,b,c,d,e;while(~scanf("%d%d%d%d%d",&a,&b,&c,&d,&e)){memset(hash,0,sizeof(hash));ans=0;for(int x1=-50;x1<=50;x1++){for(int x2=-50;x2<=50;x2++){if(x1!=0&&x2!=0){int sum=0;sum+=a*x1*x1*x1;sum+=b*x2*x2*x2;if(sum<0){sum+=25000000;}hash[sum]++;}}}for(int x3=-50;x3<=50;x3++){for(int x4=-50;x4<=50;x4++){for(int x5=-50;x5<=50;x5++){if(x3!=0&&x4!=0&&x5!=0){int sum=0;sum+=c*x3*x3*x3;sum+=d*x4*x4*x4;sum+=e*x5*x5*x5;if(sum<0){sum+=25000000;}if(hash[sum]){ans+=hash[sum];}}}}}cout<<ans<<endl;}return 0;}

0 0
原创粉丝点击