Cod sursa(job #1099195)

Utilizator StexanIarca Stefan Stexan Data 5 februarie 2014 17:10:31
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.23 kb
//
//  main.cpp
//  Hashuri
//
//  Created by Stefan Iarca on 2/5/14.
//  Copyright (c) 2014 Stefan Iarca. All rights reserved.
//

#include <fstream>
#include <vector>
using namespace std;

ifstream f("hashuri.out");
ofstream g("hashuri.out");

const int MOD = 666013;

vector<int> G[MOD];
int N;

vector<int>::iterator Find(int x){
    int list = x%MOD;
    for (vector<int>::iterator it = G[list].begin(); it != G[list].end(); it++) {
        if (x == *it) {
            return it;
        }
    }
    return G[list].end();
}

void Insert(int x){
    int list = x%MOD;
    if(Find(x) == G[list].end())
        G[list].push_back(x);
}
void Delete(int x){
    int list = x%MOD; vector<int>::iterator it = Find(x);
    if(!(it == G[list].end()))
        G[list].erase(it);
}

void Read(){
    f>>N; int x,cod,list; vector<int>::iterator it;
    for (int i = 1; i <= N; i++) {
        f>>cod>>x;
        list = x % MOD;
        if (cod == 1) {
            Insert(x);
        }else if(cod == 2){
            Delete(x);
        }else if(cod == 3){
            it = Find(x);
            if (it != G[list].end()) {
                g<<1<<"\n";
            }else{
                g<<0<<"\n";
            }
        }
    }
}

int main()
{
    Read();
    return 0;
}