题目
Codeforces Round #702 (Div. 3)
描述
样例
思路
题意
这个题目的意思是给你一个数c,能不能找到两个整数a,b使得a^3 + b^3=c。
用map从1到1e4打表,然后for循环判断即可。
代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
map<ll,ll>mp;
int main()
{
for(ll i=1;i<=10000;i++)
{
mp[i*i*i]=1;
}
int t;
cin >> t;
while (t--)
{
ll n;
cin>>n;
int f=0;
for(ll i=1;i<=10000;i++)
{
if(mp[n-i*i*i]==1)
{
f=1;
break;
}
}
if(f==1)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}