Pagini recente » Cod sursa (job #651532) | Cod sursa (job #2871585) | Cod sursa (job #2716230) | Cod sursa (job #2341928) | Cod sursa (job #629309)
Cod sursa(job #629309)
#include<fstream>
#include<vector>
#define MOD 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n, nr[MOD];
vector<int> a[MOD];
void Adauga(int x)
{
int y=x%MOD, ok=0, i;
for (i=0; i<nr[y]; ++i)
if (a[y][i]==x)
{
ok=1;
break;
}
if (!ok)
{
a[y].push_back(x);
++nr[y];
}
}
void Sterge(int x)
{
int y=x%MOD, ok=0, i;
for (i=0; i<nr[y]; ++i)
if (a[y][i]==x)
{
ok=i+1;
break;
}
if (ok>0)
if (ok-1!=nr[y]-1)
swap(a[y][ok-1], a[y][--nr[y]]);
else --nr[y];
}
int cauta(int x)
{
int y=x%MOD, ok=0, i;
for (i=0; i<nr[y]; ++i)
if (a[y][i]==x)
{
ok=1;
break;
}
return ok;
}
void Citeste()
{
int i, x, y;
f>>n;
for (i=1; i<=n; ++i)
{
f>>x>>y;
if (x==1) Adauga(y);
else if (x==2) Sterge(y);
else g<<cauta(y)<<"\n";
}
}
int main()
{
Citeste();
f.close();
g.close();
return 0;
}