AcWing 840. 模拟散列表
原题链接
简单
作者:
岩专郭启童
,
2024-01-28 14:02:42
,
所有人可见
,
阅读 36
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+3;
int h[N],ne[N],e[N],idx;
void insert(int x)
{
int k=(x%N+N)%N;
e[idx]=x;
ne[idx]=h[k];
h[k]=idx++;
}
bool find(int x)
{
int k=(x%N+N)%N;
for(int i=h[k];i!=-1;i=ne[i])if(e[i]==x)return true;
return false;
}
int main()
{
int n;
cin>>n;
memset(h,-1,sizeof(h));
while(n--)
{
string op;
int x;
cin>>op>>x;
if(op=="I")insert(x);
else
{
if(find(x))puts("Yes");
else puts("No");
}
}
}