Pagini recente » Cod sursa (job #3255838) | Cod sursa (job #1876536) | Cod sursa (job #2765651) | Cod sursa (job #2380667) | Cod sursa (job #2119092)
#include <fstream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
struct elem
{
int info;
elem *urm;
}*v[666015];
int n,i,op,x;
const int MOD=666013;
void adaugare (int x)
{
elem*p;
p=new elem;
p->info=x;
p->urm=v[x%MOD];
v[x%MOD]=p;
}
void stergere (int x)
{
elem *q;
if (v[x%MOD]->info==x)
{
q=v[x%MOD];
v[x%MOD]=q->urm;
delete q;
return;
}
for (elem*p=v[x%MOD];p->urm!=NULL;p=p->urm)
{
if (p->urm->info==x)
{
q=p->urm;
p->urm=q->urm;
delete q;
return;
}
}
}
bool apartine (int x)
{
elem *p;
for (p=v[x%MOD];p!=NULL;p=p->urm)
{
if (p->info==x)
return 1;
}
return 0;
}
int main()
{
fin>>n;
for (i=1;i<=n;i++)
{
fin>>op>>x;
switch (op)
{
case 1:if (!apartine(x))
adaugare(x); break;
case 2:if (apartine(x)) stergere(x);break;
case 3: fout<<apartine(x)<<'\n';
}
}
return 0;
}