湘潭校赛 Bob's Problem
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 样例输出Yes |
哈希
#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的更多相关文章
- 湘潭校赛 Hard Wuxing
Hard Wuxing Accepted : 13 Submit : 166 Time Limit : 1000 MS Memory Limit : 65536 KB 题目描述 “五行”是中国 ...
- 湘潭校赛 Easy Wuxing
Easy Wuxing Accepted : 25 Submit : 124 Time Limit : 1000 MS Memory Limit : 65536 KB 题目描述 “五行”是中国 ...
- 2019湘潭校赛 G(并查集)
要点 题目传送 题目本质是每个点必属于两个集合中的一个,伴随的性质是:如果一个人说别人true,则他们一定属于同一阵营:如果说别人fake,一定不属于同一阵营. 每个点拆为\(i\)和\(i + n\ ...
- 2019湘潭校赛 H(dp)
题目传送 dp是常规的:\(m^2\)的预处理:把位置存进vector然后\(O(1)\)算出想要的:WA点:要注意特意设置一下val[i][v.size()]=0,即全天都放鸽子则花费时间为0. # ...
- 2019湘潭校赛 E(答案区间维护)
题目传送 思路是始终维护西瓜数量的区间,即L代表目前可以达到的最少的,R是最多的,然后判断一下. #include <bits/stdc++.h> using namespace std; ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- SCNU省选校赛第二场B题题解
今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...
- 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- 校赛F 比比谁更快(线段树)
http://acm.cug.edu.cn/JudgeOnline/problem.php?cid=1153&pid=5 题意:给你一个字符串,各两个操作: ch=0,[l,r]降序 ch=1 ...
随机推荐
- 文件操作(FILE)与常用文件操作函数
文件 1.文件基本概念 C程序把文件分为ASCII文件和二进制文件,ASCII文件又称文本文件,二进制文件和文本文件(也称ASCII码文件)二进制文件中,数值型数据是以二进制形式存储的, 而在文本文件 ...
- 算法(Algorithm)
算法就是"把解决问题的步骤无一遗漏地用文字或图表示出来". 在解决问题的步骤中,有了与直觉相关的因素,就不是算法了.既然不是算法,也就不能用程序表示了.
- ES6新增变量
声明let let 声明的变量不存在预解析 console.log(flag) var flag = 123 //123 let flag = 456 //undefined let声明的变量不允许重 ...
- 3. Decision Tree
1. 算法流程 一般的,一颗决策树包含一个根结点.若干内部结点和若干叶结点:叶节点对应于决策结果,其他每个结点则对应于一个属性测试结果:每个结点包含的样本集合根据属性测试的结果被划分到子结点中:根结点 ...
- Window - 浏览器对象模型
浏览器对象模型 (BOM) 浏览器对象模型(Browser Object Model (BOM))尚无正式标准. 由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因 ...
- 为Linux集群创建新账户,并配置hadoop集群
转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策 ...
- How React Works (一)首次渲染
How React Works (一)首次渲染 一.前言 本文将会通过一个简单的例子,结合React源码(v 16.4.2)来说明 React 是如何工作的,并且帮助读者理解 ReactElement ...
- (win 7)使用puma以后,重启rails server报错: in `trap': unsupported signal SIGCHLD (ArgumentError)
如图: 解决方案: 把config/puma.rb 文件中的 workers Integer(ENV['WEB_CONCURRENCY'] || 2) 改成 workers Integer(ENV[' ...
- 【数组】Product of Array Except Self
题目: iven an array of n integers where n > 1, nums, return an array output such that output[i] is ...
- Android 开发工具类 20_DOMPersonService
xml 文件 <?xml version="1.0" encoding="UTF-8"?> <persons> <person i ...