例题链接: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 100007 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 "); 33 else 34 printf("NO "); 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 }