Pagini recente » Cod sursa (job #2864236) | Cod sursa (job #1495923) | Cod sursa (job #2704319) | Cod sursa (job #98473) | Cod sursa (job #629361)
Cod sursa(job #629361)
#include<stdio.h>
#include<vector>
#include<utility>
#define P 666013
using namespace std;
int n;
vector<int> v[P];
FILE *fin,*fout;
void inserare(int x)
{
int r=x%P,ok=0;
for(vector<int>::iterator it=v[r].begin();it!= v[r].end();it++)
{
if(*it==x)
{
ok=1;
*it++;
return;
}
}
if(ok==0)
{
v[r].push_back(x);
}
}
void stergere(int x)
{
int r=x%P;
for(vector<int>:: iterator it=v[r].begin();it!=v[r].end();it++)
{
if(*it==x)
{
*it=*v[r].end();
v[r].pop_back();
return ;
}
}
}
void afiseaza(int x)
{
fprintf(fout,"%d\n",x);
}
void cauta(int x){
int r=x%P;
for(vector<int>:: iterator it=v[r].begin();it!=v[r].end();it++)
{
if(*it==x)
{
afiseaza(1);
return ;
}
}
afiseaza(0);
}
void citire()
{
int op,x;
fin=fopen("hashuri.in","r");
fscanf(fin,"%d",&n);
for(int i=1;i<=n;i++)
{
fscanf(fin,"%d %d",&op,&x);
if(op==1)
{
inserare(x);
}
else
if(op==2)
{
stergere(x);
}
else
{
cauta(x);
}
}
}
int main()
{
fout=fopen("hashuri.out","w");
citire();
return 0;
}