没啥好说的。。。直接做五个循环肯定T
#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cstring>
#include <string>
#include <stack>
#include <stdlib.h>
#include <map>
using namespace std;
map<int,int>hash;
int a[5];
int main()
{
for(int i=0;i<5;i++)
scanf("%d",&a[i]);
for(int i=-50;i<=50;i++)
for(int j=-50;j<=50;j++)
{
if(i==0||j==0)continue;
int sum=i*i*i*a[0]+j*j*j*a[1];
if(hash.find(sum)==hash.end())hash[sum]=1;
else hash[sum]++;
}
int ans=0;
for(int i=-50;i<=50;i++)
for(int j=-50;j<=50;j++)
for(int k=-50;k<=50;k++)
{
if(i==0||j==0||k==0)continue;
int sum=i*i*i*a[2]+j*j*j*a[3]+k*k*k*a[4];
if(hash.find(0-sum)!=hash.end())ans+=hash[0-sum];
}
cout<<ans<<endl;
return 0;
}