请问一下为什么最后一个会输出NO呢qwq
查看原帖
请问一下为什么最后一个会输出NO呢qwq
672837
DaShabby楼主2022/5/2 20:41
using namespace std;
typedef long long ll;
const int maxn=1e5+45;
ll cnt,cube[maxn];
char s[maxn];
map<ll,bool>vis;

void inti(){
	for(int i=1;i<=10000;i++){
		
		vis[i*i*i]=1;
	}
}
int main()
{
	ll t,n,l;
	scanf("%lld",&t);
	for(int i=1;i<=10000;i++){
		
		vis[i*i*i]=1;
	}
	
	while(t--){
		scanf("%lld",&n);
		int flag=0;
		for(int i=1;i<=cbrt(n);i++){
//			cout<<i*i*i<<endl;
			if(n-i*i*i>0&&vis[n-i*i*i]&&vis[i*i*i]){
				
				flag=1;
				break;
			}
				
	    }
		if(flag)printf("YES\n");
		else printf("NO\n");
	}
	
	return 0;
}```
2022/5/2 20:41
加载中...