zoukankan      html  css  js  c++  java
  • 哈希 poj 1480

    计算可能的数目

    a3*x3^3+a4*x4^3+a5*x5^5=-(a1*x1^3+a2*x2^3);

    列举右边的  结果存到数组  z[i] 和为i的右边等式的数目

    如果和小于0  +25000000

    反正能存下就行了 

    然后列举一下左边的

     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<string.h>
     4 #include<math.h>
     5 #include<vector>
     6 
     7 using namespace std;
     8 
     9 short z[25000010];
    10 int a[5];
    11 
    12 int main()
    13 {
    14     for(int i=0;i<5;i++)
    15         scanf("%d",&a[i]);
    16     for(int i=-50;i<=50;i++)
    17     {
    18         if(!i)
    19         continue;
    20 
    21         for(int j=-50;j<=50;j++)
    22         {
    23             if(!j)
    24             continue;
    25             int sum=-(a[0]*i*i*i+a[1]*j*j*j);
    26             if(sum<0)
    27             sum+=25000000;
    28             z[sum]++;
    29         }
    30     }
    31     int cnt=0;
    32     for(int i=-50;i<=50;i++)
    33     {
    34         if(!i)
    35         continue;
    36 
    37         for(int j=-50;j<=50;j++)
    38         {
    39             if(!j)
    40             continue;
    41 
    42             for(int k=-50;k<=50;k++)
    43             {
    44                 if(!k)
    45                 continue;
    46                 int sum=a[2]*i*i*i+a[3]*j*j*j+a[4]*k*k*k;
    47                 if(sum<0)
    48                 sum+=25000000;
    49                 cnt+=z[sum];
    50             }
    51         }
    52     }
    53     printf("%d
    ",cnt);
    54     return 0;
    55 }
  • 相关阅读:
    java第十三周作业
    java第十三周随堂
    安卓作业
    5.29 第十三周作业
    5.28第十三周上机练习
    5.22第十二周作业
    5.21第十二章上机练习
    5.15 第十一周作业
    5.14 第十一周 上机练习
    5.7第十周上机练习
  • 原文地址:https://www.cnblogs.com/cherryMJY/p/6100578.html
Copyright © 2011-2022 走看看