Pagini recente » Cod sursa (job #1410321) | Cod sursa (job #2420487) | Cod sursa (job #1877980) | Cod sursa (job #1141106) | Cod sursa (job #783507)
Cod sursa(job #783507)
#include<cstdio>
#include<vector>
#define PRIM 699997
#define nat unsigned int
using namespace std;
vector<nat> v[PRIM];
vector<nat>::iterator search(nat x)
{
nat list=x%PRIM;
for(vector<nat>::iterator it=v[list].begin();it!=v[list].end();it++)
if(*it==x)
return it;
return v[list].end();
}
void add(nat x)
{
if(search(x)==v[x%PRIM].end())
v[x%PRIM].push_back(x);
else return;
}
void erase_hash(nat x)
{
nat list=x%PRIM;
if(v[list].empty())
return ;
else
for(vector<nat>::iterator it=v[list].begin();it!=v[list].end();it++)
if(*it==x)
{
v[list].erase(it);
return;
}
return;
}
int main ()
{
nat n,x,op;
FILE *f=fopen("hashuri.in","r");
FILE *g=fopen("hashuri.out","w");
fscanf(f,"%u",&n);
for(nat i=1;i<=n;i++)
{
fscanf(f,"%u%u",&op ,&x);
if(op==1)
add(x);
else
if(op==2)
erase_hash(x);
else
if(search(x)==v[x%PRIM].end())
fprintf(g,"%s\n","0");
else
fprintf(g,"%s\n","1");
}
fclose(f);
fclose(g);
return 0;
}