Cod sursa(job #1439538)
| Utilizator | Data | 22 mai 2015 16:10:12 | |
|---|---|---|---|
| Problema | Hashuri | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 1.45 kb |
#include <iostream>
#include <fstream>
#define P 104729
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
struct Nod
{
int info;
Nod *leg;
};
Nod *h[P];
int main()
{
int n, i, v, x, r;
fin >> n;
Nod *p;
for (i = 1; i <= n; i++)
{
fin >> x >> v;
r = v % P;
if (x == 1)
{
for (p = h[r]; p && 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)
{
for (p = h[r]; p && p->info != v; p = p->leg);
if (p)
{
if (p == h[r])
{
Nod *q;
q = h[r];
h[r] = q->leg;
delete q;
}
else
{
p->info = p->leg->info;
Nod *q;
q = p->leg;
p->leg = q->leg;
delete q;
}
}
}
else if (x == 3)
{
for (p = h[r]; p && p->info != v; p = p->leg);
if (p == NULL) fout << "0\n";
else fout << "1\n";
}
}
fout.close();
return 0;
}
