Pagini recente » Monitorul de evaluare | Cod sursa (job #2439310) | Monitorul de evaluare | Cod sursa (job #1836939) | Cod sursa (job #1438967)
#include <iostream>
#include <fstream>
#define P 104729
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
struct Nod
{
int info;
Nod *leg;
} *h[P];
int main()
{
int n, i, v, x, r;
fin >> n;
for (i = 0; i < P; i++)
h[i] = NULL;
for (i = 1; i <= n; i++)
{
fin >> x >> v;
r = v % P;
if (x == 1)
{
Nod *p;
for (p = h[r]; p != NULL && p->info != v ; p = p->leg);
if (p == NULL)
{
Nod *q;
q = new Nod;
q->info = v;
q->leg = h[r];
h[r] = q;
}
}
else if (x == 2)
{
Nod *p;
for (p = h[r]; p != NULL && p->info != v; p = p->leg);
if (p != NULL)
{
p->info = p->leg->info;
Nod *q;
q = p->leg;
p->leg = q->leg;
delete q;
}
}
else if (x == 3)
{
Nod *p;
for (p = h[r]; p != NULL && p->info != v; p = p->leg);
if (p == NULL) fout << "0\n";
else fout << "1\n";
}
for (Nod *p = h[r]; p != NULL; p = p->leg)
cout << p->info << " ";
cout << "\n";
}
return 0;
}