| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:折半枚举大水题In Reply To:折半枚举大水题 Posted by:13408100238 at 2015-05-10 20:42:07 > #include <iostream>
> #include <cstdio>
> #include <cstring>
> #include <cmath>
> #include <algorithm>
> #include <map>
> using namespace std;
> typedef long long LL;
> const int MS=50;
> const int SIZE=10000;
>
> int hash[SIZE];
> int cnt;
>
> int main()
> {
> int a1,a2,a3,a4,a5;
> while(scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5)!=EOF)
> {
> cnt=0;
> for(int i=-MS;i<=MS;i++)
> for(int j=-MS;j<=MS;j++)
> {
> if(i==0||j==0)
> continue;
> int t=a1*i*i*i+a2*j*j*j;
> hash[cnt++]=t;
> }
> sort(hash,hash+cnt);
> int ans=0;
> for(int i=-MS;i<=MS;i++)
> for(int j=-MS;j<=MS;j++)
> for(int k=-MS;k<=MS;k++)
> {
> if(i==0||j==0||k==0)
> continue;
> int t=a3*i*i*i+a4*j*j*j+a5*k*k*k;
> ans+=upper_bound(hash,hash+cnt,-t)-lower_bound(hash,hash+cnt,-t);
> }
> printf("%d\n",ans);
> }
> return 0;
> }
>
>
>
666
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator