Cod sursa(job #764770)

Utilizator mi5humihai draghici mi5hu Data 6 iulie 2012 11:45:14
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.22 kb
#include <stdio.h>
#include <utility>
#include <set>
using namespace std;

#define max_el 10000000
int n;
set<int> v[max_el];

int get_hash(int nr) {
     return (nr % max_el);
}

void insert_(int val) {
     int hash = get_hash(val);
     v[hash].insert(val);
}

void delete_(int val) {
     int hash = get_hash(val);
     v[hash].erase(val);  
}

void contains_(int val) {
     int hash = get_hash(val);
     if (v[hash].find(val) == v[hash].end()) {
        printf("0\n");
        return;
     }         
     printf("1\n");    
}

void citeste() {
      int a, b;
      scanf("%d", &n);
      for (int i = 0; i < n; i++) {
          scanf("%d%d", &a, &b);
          switch (a) {
                 case 1:
                      insert_(b);
                      break;
                 case 2:
                      delete_(b);
                      break;
                 case 3:
                      contains_(b);
                      break;
                 default:
                      break;
          }                      
      }     
}

int main() {
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
    
    citeste();
    
    return 0;
}