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

例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138

代码目的:复习哈希用

代码实现:

 1 #include "stdio.h"  //nyoj 138 简单哈希
 2 #include "vector"
 3 using namespace std;
 4 #define N 107
 5 vector<int> a[N];  //vector向量处理冲突
 6 
 7 void ADD()
 8 {
 9     int m,k;
10     scanf("%d",&m);
11     while(m--)
12     {
13         scanf("%d",&k);
14         a[k%N].push_back(k);
15     }
16 }
17 
18 void Query()
19 {
20     bool flag;
21     int i,m,k,x;
22     scanf("%d",&m);
23     while(m--)
24     {
25         scanf("%d",&k);
26         flag = false;
27         x = k%N;
28         for(i=0; i<(int)a[x].size(); i++)
29             if(a[x][i]==k)
30                 flag = true;
31         if(flag)
32             printf("YES\n");
33         else
34             printf("NO\n");
35     }
36 }
37 
38 int main()
39 {
40     int n;
41     char str[10];
42     scanf("%d",&n);
43     while(n--)
44     {
45         scanf("%s",str);
46         if(str[0]=='A')
47             ADD();
48         else
49             Query();
50     }
51     return 0;
52 }

 

更多相关文章
  • 题目:nyoj——138 /*** 哈希求解...采用链表保存 插入时,可以去除重复 查找 找到该组,然后在改组的查找 当这个组不存在时或是没有找到时是 NO 其他是YES 1e6+1 时间最短 */ #include <stdio.h> #include <string.h> ...
  •   点解:题目链接   两种辦法,1是使用容器set做 2必须知道这个结论,  突然感觉数论很强大啊,,,, /*//set容器处理 出一次加进去,再出现删掉,这个最后留下的就是那个只出现基数次的 #include <iostream> #include <set> usin ...
  • 链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=86   用数组标记法爆内存,暴力搜索超时....有一种方法是 快排+二分查找.可以过,但是有点慢.. #include <iostream> #include <algorit ...
  • nyoj86找球號(一)               set  二分查找 hash
    http://acm.nyist.net/JudgeOnline/problem.php?pid=86   找球号(一) 时间限制:3 ms    内存限制:65535 KB 难度:3   描述在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<=1 ...
  • nyoj528找球號(三)             位運算
    http://acm.nyist.net/JudgeOnline/problem.php?pid=528   找球号(三) 时间限制:2 ms    内存限制:3 KB 难度:2   描述 xiaod现在正在某个球场负责网球的管理工作.为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数
  • 找点 时间限制:2 ms    内存限制:65535 KB 难度:2 描述 上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点.但是这几天LYH太忙了,你们幫幫他吗? 输入多组测试数据.每组数据先输入一个N,表示有N个闭区间(N≤100).接下来N行,每行输入两个数
  • NYOJ86 找球號(一)AC                                                    分類:            NYOJ             20140202 10:45    160人閱讀    評論(0)    收藏
    NO.1 单纯的傻傻的代码: #include<stdio.h> long long nu
  • 取球游戏 时间限制:1 ms    内存限制:65535 KB 难度:2   描述     今盒子里有n个小球,A.B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断.     我们约定:    每个人从盒子中取出的球的数目必须
一周排行