Bob's Problem

Accepted : 18   Submit : 115
Time Limit : 1000 MS   Memory Limit : 65536 KB 

题目描述

Bob今天碰到一个问题,他想知道x3+y3 = c 是否存在正整数解?

输入

第一行是一个整数K(K≤20000),表示样例的个数。 以后每行一个整数c(2≤c≤109)

输出

每行输出一个样例的结果,如果存在,输出“Yes”,否则输出“No”。(引号不用输出)

样例输入

2
28
27

样例输出

Yes
No

哈希

 #include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
const int INF = ;
int a[]; struct node
{
int num;
struct node *next;
};
struct node f[INF]; void Insert(int x)
{
struct node *p,*q;
int k;
k=x%INF;
p=&f[k];
while( p!=NULL && p->num!=x)
{
p=p->next;
}
if( p==NULL )
{
q=(struct node*)malloc(sizeof(struct node));
q->next=f[k].next;
q->num=x;
f[k].next=q;
}
}
bool found(int x)
{
int k;
struct node *p;
k=x%INF;
p=&f[k];
while( p!=NULL && p->num!=x)
{
p=p->next;
}
if( p==NULL)
return false;
if( p->num==x)
return true;
}
void prepare()
{
int i,j;
for(i=;i<=;i++)
a[i]=i*i*i; for(i=;i<INF;i++)
{
f[i].num=;
f[i].next=NULL;
}
for(i=;i<=;i++)
for(j=i;j<=;j++)
{
Insert(a[i]+a[j]);
}
}
int main()
{
int n,i,x;
prepare();
while(scanf("%d",&n)>)
{
for(i=;i<=n;i++)
{
scanf("%d",&x);
if( found(x)==true )
printf("Yes\n");
else printf("No\n");
}
}
return ;
}

set

 #include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<set>
#include<algorithm>
using namespace std; int a[];
set<int> Q;
void prepare()
{
int i,j;
for(i=;i<=;i++)
a[i]=i*i*i;
Q.clear();
for(i=;i<=;i++)
for(j=i;j<=;j++)
Q.insert(a[i]+a[j]);
}
int main()
{
int T,n;
prepare();
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
int flag=Q.count(n);
if(flag==)printf("No\n");
else printf("Yes\n");
}
return ;
}

湘潭校赛 Bob's Problem的更多相关文章

  1. 湘潭校赛 Hard Wuxing

    Hard Wuxing Accepted : 13   Submit : 166 Time Limit : 1000 MS   Memory Limit : 65536 KB 题目描述 “五行”是中国 ...

  2. 湘潭校赛 Easy Wuxing

    Easy Wuxing Accepted : 25   Submit : 124 Time Limit : 1000 MS   Memory Limit : 65536 KB 题目描述 “五行”是中国 ...

  3. 2019湘潭校赛 G(并查集)

    要点 题目传送 题目本质是每个点必属于两个集合中的一个,伴随的性质是:如果一个人说别人true,则他们一定属于同一阵营:如果说别人fake,一定不属于同一阵营. 每个点拆为\(i\)和\(i + n\ ...

  4. 2019湘潭校赛 H(dp)

    题目传送 dp是常规的:\(m^2\)的预处理:把位置存进vector然后\(O(1)\)算出想要的:WA点:要注意特意设置一下val[i][v.size()]=0,即全天都放鸽子则花费时间为0. # ...

  5. 2019湘潭校赛 E(答案区间维护)

    题目传送 思路是始终维护西瓜数量的区间,即L代表目前可以达到的最少的,R是最多的,然后判断一下. #include <bits/stdc++.h> using namespace std; ...

  6. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  7. SCNU省选校赛第二场B题题解

    今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...

  8. 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】

    链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  9. 校赛F 比比谁更快(线段树)

    http://acm.cug.edu.cn/JudgeOnline/problem.php?cid=1153&pid=5 题意:给你一个字符串,各两个操作: ch=0,[l,r]降序 ch=1 ...

随机推荐

  1. Android------------fragment数据传递

    一.activity向fragment的数值之间的传递 关键点:fragment.setArguments(bundle);---->activity发出的信息      Bundle bund ...

  2. Sentinel 哨兵 实现redis高可用

    本文链接:http://www.cnblogs.com/zhenghongxin/p/8885879.html 我们知道redis是有主从复制的,例如下图: 但如果master主进程挂掉之后,没有sl ...

  3. $_SERVER[]数组解析

    $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果.__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名. 如果 PHP 以命令行方式运行,该 ...

  4. 在android应用程序中启动其他apk程序

    Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名 ...

  5. QuantLib 金融计算——修复 BatesProcess 中的两个 Bug

    QuantLib 金融计算--修复 BatesProcess 中的两个 Bug 我发现了 BatesProcess 中的两个 Bug: 基类 HestonProcess::factors 的返回值取决 ...

  6. Matlab 编程

    M文件 1. 脚本文件 Script is a file containing a series of commands Scripts need to be saved to a <file& ...

  7. Java—关于String的分析

    一.两种赋值方式的比较 1.直接赋值法:String s1="abc"; 这种赋值方法用的最多,因为它可能不需要创建对象,或者只创建一次. 它首先会判断字符串常量池有没有存在字符串 ...

  8. 用COS实现文件上传

    cos是O'Rrilly公司开发的一款用于HTTP上传文件的OpenSource组件 需要cos.jar,下载地址:http://www.servlets.com/cos/ cos上传文件很简单,比f ...

  9. springboot-3-其他配置

    1, 热部署: 有jrebel的话, 不用了, 不如jre好用 原理: 使用两个classLoad, 一个加载不改变的jar, 另一个加载可更改的jar, 发生改变后, 舍弃可更改的jar重新rest ...

  10. WPF中List的Add()与Insert()方法的区别

    先来看看定义: // Summary: // Adds an object to the end of the System.Collections.Generic.List<T>. // ...