Pagini recente » Cod sursa (job #1729794) | Cod sursa (job #2626630) | Cod sursa (job #142080) | Cod sursa (job #1980039) | Cod sursa (job #607323)
Cod sursa(job #607323)
#include <fstream.h>
#include <vector>
#define M 47777
ifstream f("hashuri.in");
ofstream g("hashuri.out");
using namespace std;
vector<int> H[M];
int P=47777;
void hAdd(int x);
void hDelete(int x);
int hCheck(int x);
int main()
{
int n,i,op,x;
f>>n;
for(i=1;i<=n;i++)
{
f>>op>>x;
switch(op)
{
case 1:
hAdd(x);
break;
case 2:
hDelete(x);
break;
case 3:
g<<hCheck(x)<<"\n";
break;
}
}
f.close();
g.close();
return 0;
}
void hAdd(int x)
{
if(!hCheck(x))
H[x/P].push_back(x);
}
void hDelete(int x)
{
vector<int>::iterator c;
for(c=H[x/P].begin();c!=H[x/P].end();c++)
if(*c==x)
{
H[x/P].erase(c);
break;
}
}
int hCheck(int x)
{
vector<int>::iterator c;
for(c=H[x/P].begin();c!=H[x/P].end();c++)
if(*c==x)
return 1;
return 0;
}