Pagini recente » Cod sursa (job #2034946) | Cod sursa (job #1021087) | Cod sursa (job #1981925) | Cod sursa (job #273091) | Cod sursa (job #1332499)
#include <cstdio>
#define m 666013
#include <vector>
using namespace std;
FILE *f1=fopen("hashuri.in","r"),*f2=fopen("hashuri.out","w");
vector <int> h[m];
int nr;
int H(int k)
{
return k%m;
}
int cauta(int k)
{
int n=H(k);
for(int i=0;i<h[n].size();i++)
if(h[n][i]==k)return 1;
return 0;
}
void inserare(int k)
{
h[H(k)].push_back(k);
}
void stergere(int k)
{
int n=H(k);
for(int i=0;i<h[n].size();i++)
if(h[n][i]==k){h[n].erase(h[n].begin()+i);break;}
}
int main()
{
fscanf(f1,"%d",&nr);
for(int i=1;i<=nr;i++)
{
int op,x;
fscanf(f1,"%d%d",&op,&x);
if(op==1){if(!cauta(x))inserare(x);}
if(op==2)stergere(x);
if(op==3)fprintf(f2,"%d\n",cauta(x));
}
fclose(f1);
fclose(f2);
return 0;
}
//Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.