Pagini recente » Cod sursa (job #2664003) | Cod sursa (job #2771822) | Cod sursa (job #533954) | Cod sursa (job #2577497) | Cod sursa (job #1332510)
#include <iostream>
#include <fstream>
using namespace std;
long m=666013,a[666015][100];
long h(long k)
{
return k%m;
}
void inserare(long x)
{
long i;
i=1;
long j;j=h(x);
do
{
if(a[j][i]==0 || a[j][i]==-1) {a[j][i]=x;a[j][0]++;break;}
else i++;
}while(i<=a[j][0]);
}
void stergere(long x)
{
long i=1;
long j;j=h(x);
do
{
if(a[j][i]==x) {a[j][i]=-1;break;}
else i++;
}while(i<=a[j][0]);
}
long cautare(long x)
{
long i=1,j;
j=h(x);
do
{
if(a[j][i]==x) return 1;
else i++;
}while(i<=a[j][0]);
return 0;
}
int main()
{
long op,nr,x;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>nr;
for(long i=1;i<=nr;i++)
{
f>>op>>x;
if(op==1) inserare(x);
else if(op==2) stergere(x);
else if(op==3) g<<cautare(x)<<'\n';
}
f.close();
g.close();
}