A.数学等式

数据比较小,可以暴力+折半枚举。

#include<bits/stdc++.h>
#define ll long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=200010;
map<int,int>mp;
int main()
{
    int N,A,B,C,D,E; ll ans=0;
    scanf("%d%d%d%d%d",&A,&B,&C,&D,&E);
    rep(i,-50,50)
     rep(j,-50,50)
      rep(k,-50,50){
        if(i*j*k==0) continue;
        int x=A*i*i*i+B*j*j*j+C*k*k*k;
        mp[x]++;
    }
    rep(i,-50,50)
     rep(j,-50,50){
       if(i*j==0) continue;
       int x=D*i*i*i+E*j*j*j;
       ans+=mp[x];
    }
    printf("%lld\n",ans);
    return 0;
}
View Code

相关文章:

  • 2021-11-10
  • 2021-09-23
  • 2021-07-14
  • 2021-10-29
  • 2021-09-29
  • 2021-12-22
  • 2021-09-21
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-28
  • 2021-11-26
  • 2022-12-23
  • 2021-05-31
  • 2022-01-11
  • 2021-09-25
相关资源
相似解决方案