Cod sursa(job #1439538)

Utilizator Narcys01Ciovnicu Narcis Narcys01 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;
}