Pagini recente » Cod sursa (job #683711) | Cod sursa (job #60574) | Cod sursa (job #2245313) | Cod sursa (job #3213855) | Cod sursa (job #3141359)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
const int dim = 12347;
struct Nod
{
Nod *urm;
int info;
};
Nod * v[dim];
int q , num , op;
void Adauga (int num)
{
int p = num % dim;
Nod *nou = new Nod;
nou->info = num;
nou->urm = v[p];
v[p] = nou;
}
void Sterge (int num)
{
int p = num % dim;
Nod *c = NULL;
if(v[p] == NULL) return;
if(v[p]->info == num)
{v[p] = v[p]->urm;return;}
for(Nod *q = v[p]; q->urm != NULL && c == NULL; q = q->urm)
if(q->urm->info == num)
c = q;
if(c != NULL)
c->urm = c->urm->urm;
}
void Cauta(int num)
{
int p = num % dim;
for(Nod *q = v[p]; q != NULL ; q = q->urm)
if(q->info == num)
{
fout << "1\n";
return;
}
fout << "0\n";
}
int main()
{
fin >> q;
while(q--)
{
fin >> op >> num;
if(op == 1)
Adauga(num);
else if(op == 2)
Sterge(num);
else
Cauta(num);
}
}