Pagini recente » Cod sursa (job #2115052) | Cod sursa (job #2103059) | Cod sursa (job #3267237) | Cod sursa (job #793633) | Cod sursa (job #629337)
Cod sursa(job #629337)
#include <stdio.h>
#include <vector>
using namespace std;
#define PRIM 666013
vector<int> v[PRIM+1];
bool e_in_hash(int p){
int i,mod=p%PRIM;
int n=v[mod].size();
for(i=0;i<n;i++){
if(v[mod][i]==p)return 1;
}
return 0;
}
void sterge(int p){
int i,mod=p%PRIM;
int n=v[mod].size();
for(i=0;i<n;i++){
if(v[mod][i]==p){
v[mod][i]=v[mod][n-1];
v[mod].pop_back();
return;
}
}
return;
}
int main(){
int n;
int i;
FILE *fin=fopen("hashuri.in","r");
int op,par;
FILE *fout=fopen("hashuri.out","w");
fscanf(fin,"%d",&n);
for(i=0;i<n;i++){
fscanf(fin,"%d%d",&op,&par);
switch(op){
case 1: //adaug x-ul, daca nu e deja
if(!e_in_hash(par)){
v[par%PRIM].push_back(par);
}
break;
case 2:
//sterg elem x, daca exista
sterge(par);
break;
case 3://caut x
if(e_in_hash(par)){
fprintf(fout,"1\n");
}else fprintf(fout,"0\n");
}
}
fclose(fout);
return 0;
}