题目: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. OCP prepare 20140703

    1. trim trim('aaa' from 'aaabbbccc') 这个是错误的.ora-30001: trim set should have only one character 2. in ...

  2. 解决SVN:could not start external diff program的问题。

    今天装完SVN之后,用来查看文件不同老是出现could not start external diff program,网上找了很多资料也没找到自己想要的,无意中中右键 Settings看到有个Dif ...

  3. uvalive 6888 Ricochet Robots bfs

    题目链接 给一个n*m的图, 图上有n个标号, n<=4, 然后有墙, 还有一个终点x. 每一步, 只能走某一个标号, 可以向四个方向走, 然后必须要碰到墙或者图的边界或者另一个标号才能停下来. ...

  4. Follow your heart

    世界上最可怕的两个词,一个是执着,一个是认真.认真的人改变自己,执着的人改变命运.任何时候都别怕重来,每个看似低的起点,都是通往高峰的必经之路.不用抱怨那些不尽如人意,问问自己,你够努力了吗?转自人民 ...

  5. html5test

    html5test Github https://github.com/NielsLeenheer/html5test 主程序是 scripts/7/engine.js 目前看到的分类大部分是基于判断 ...

  6. HTML 5 新标签

    HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2  HTML 标准.它希望能够减少浏览器对于需要插件的丰富性网络应用服务( ...

  7. @RISK

    Price: AUD $3,295.00   Price: AUD $2,495.00   适用于项目管理的 @RISK 免费试用版下载 » 立即购买 » 价格对比 » 许可选项 (英文) » 教学计 ...

  8. 帝国cms留言表模板修改

    <form action="../../enews/index.php" method="post" name="form1" id= ...

  9. C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作

    原文 http://www.cnblogs.com/codealone/archive/2013/09/22/3332607.html 应用程序配置文件,对于asp.net是 web.config,对 ...

  10. Strange Towers of Hanoi

    题目链接:http://sfxb.openjudge.cn/dongtaiguihua/E/ 题目描述:4个柱子的汉诺塔,求盘子个数n从1到12时,从A移到D所需的最大次数.限制条件和三个柱子的汉诺塔 ...