题目:nyoj——138

/***
哈希求解。。。采用链表保存
插入时,可以去除重复
查找 找到该组,然后在改组的查找
当这个组不存在时或是没有找到时是 NO 其他是YES
1e6+1 时间最短
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h> #define N 1000001; typedef struct numb
{
int a;
numb *next;
}numb; numb *head[1000005]; void insert(int x)
{
int ans = x % N;
if(head[ans] == NULL)
{
head[ans] = (numb *) malloc(sizeof(numb));
head[ans]->next = NULL;
head[ans]->a = -1;
} numb *p;
p = head[ans];
int flag = 1;
while(p->next != NULL)
{
if(p->next->a == x)
{
flag = 0;
break;
}
p = p ->next;
}
numb *q;
if(flag)
{
q = (numb *) malloc (sizeof(numb));
q -> a = x;
q->next = NULL;
p->next = q;
p = q;
}
} int find(int x)
{
int ans = x % N;
numb *p;
if(head[ans] == NULL)
return 0;
else
{
p = head[ans]->next;
while(p != NULL)
{
if(p->a == x)
return 1;
p = p->next;
}
return 0;
}
}
int main()
{
int T;
scanf("%d",&T);
char ch[12];
int x,t;
while(T--)
{
scanf("%s",ch);
if(ch[0] == 'A')
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&x);
insert(x);
}
}
else
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&x);
if(find(x) == 1)
printf("YES\n");
else
printf("NO\n");
}
}
}
return 0;
}

nyoj 138 找球号(二)(哈希)的更多相关文章

  1. NYOJ 138 找球号(二) bitset 二进制的妙用

    找球号(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i< ...

  2. nyist oj 138 找球号(二)(hash 表+位运算)

    找球号(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描写叙述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中.每一个球上都有一个整数编号i(0<=i< ...

  3. 简答哈希实现 (nyoj 138 找球号2)

    例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 代码目的:复习哈希用 代码实现: #include "stdio.h&qu ...

  4. NYOJ 138 找球号(二) (哈希)

    题目链接 描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是&qu ...

  5. nyoj138 找球号(二)_离散化

    找球号(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5   描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i< ...

  6. nyoj 86 找球号(一)

    点击打开链接 找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i ...

  7. nyoj 86 找球号(一)

    找球号(一) 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0& ...

  8. nyoj 86 找球号(一)(set,map)

    找球号(一) 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0& ...

  9. nyoj 528 找球号(三)(哈希)

    点解:题目链接 两种办法,1是使用容器set做 2必须知道这个结论,  突然感觉数论很强大啊,,,, /*//set容器处理 出一次加进去,再出现删掉,这个最后留下的就是那个只出现基数次的 #incl ...

随机推荐

  1. UIlabel添加背景图片

    做UI的时候我们可能想给某个Label添加一个背景图片,但查看的时候会发现好像只有设置背景颜色的方法,不过我们也可以通过这种方式来解决: UIColor *color = [UIColor color ...

  2. Programming C#.Classes and Objects.成员方法

    this关键字指向类的当前实例,this指针是类中所有非静态方法的隐藏指针,每个方法都能通过this指针指向对象的其他方法和成员变量. 因为对一个类来说,它的成员函数(方法)只有一份,所有的实例对象共 ...

  3. ios 应用程序之间的跳转(内置程序的实现)

    ios 应用程序之间的跳转(内置程序的实现) 一个程序若要跳到另一个程序.需要在目标程序的plist文件里面修改: 打开info.plist,添加一项URL types 展开URLtypes,再展开I ...

  4. sf

    #include <stdio.h> #include <time.h> #include <stdlib.h> #define MAXN 150 //最大节点数 ...

  5. C#学习日志 day8 -------------- async await 异步方法入门(引用博客)以及序列化和反序列化的XML及json实现

    首先是异步方法的介绍,这里引用自http://www.cnblogs.com/LoveJenny/archive/2011/11/01/2230933.html async and await 简单的 ...

  6. Distributed Machine Learning Toolkit

    http://www.dmtk.io http://www.dmtk.io/download.html

  7. 一次性关闭所有的Activity

    原文:一次性关闭所有的Activity 一次性关闭所有的Activity ActivityManager am = (ActivityManager)getSystemService (Context ...

  8. [置顶] 阿里IOS面试题之多线程选用NSOperation or GCD

    今天早上接到了阿里从杭州打过来的电话面试.虽然近期面试了一些大中型的互联网企业,但是跟素有“IT界的黄浦军校”的阿里面试官接触还是不免紧张. 面试持续了三四十分钟吧,大部分问题都是简历上的项目经验而来 ...

  9. 面向对象程序设计-C++_课时11new & delete

    Dynamic memory allocation new new int; new Stash; new int[10]; new返回这个对象的指针 delete delete p; delete[ ...

  10. 利用sass构建组件化的ui库

    创建公用的Sass项目模板 在做项目时,不管什么项目,他们之间总是有一些可以共用的部分.比如说重置样式.公用样式.模块组件.UI库等.那么在Sass项目中也是如此.为了避免在每个项目中做一些相同的事情 ...