AcWing 840. 模拟散列表
原题链接
简单
作者:
Chandler丶
,
2024-03-04 15:12:17
,
所有人可见
,
阅读 14
#include <iostream>
#include <algorithm>
#include <string.h>
#include <vector>
using namespace std;
#define ll long long
const int N = 200003,null = 0x3f3f3f3f;//大于10的9次方
int h[N];
int find(int x){
int k = (x % N + N) % N;
while(h[k] != null && h[k] !=x)
{
k++;
if(k == N) k = 0;
}
return k;
}
int main() {
int n ;
cin >> n;
memset(h,0x3f,sizeof h);
while(n--)
{
char op[2];
int x;
scanf("%s%d",op,&x);
int k = find(x);
if(op[0] == 'I') h[k] = x;
else{
if(h[k] != null) puts("Yes");
else puts("No");
}
}
return 0;
}