Pagini recente » Cod sursa (job #1980775) | Cod sursa (job #3122332) | Cod sursa (job #1984239) | Cod sursa (job #2486032) | Cod sursa (job #1049858)
//
// main.cpp
// hashuri+
//
// Created by Catalina Brinza on 12/7/13.
// Copyright (c) 2013 Catalina Brinza. All rights reserved.
//
#include <fstream>
#include <vector>
#define nr_zone 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int cautare (vector <int> hash[nr_zone],int val)
{
int zona=val%nr_zone;
for (int i=0;i<hash[zona].size();++i)
{
if (hash[zona][i]==val) return i;
}
return -1;
}
void inserare(vector <int> hash[nr_zone],int val)
{
int zona=val%nr_zone;
if (cautare(hash,val)!=-1) return;
else hash[zona].push_back(val);
return;
}
void del(vector<int> hash[nr_zone],int val)
{
int poz=cautare(hash,val);
if (poz!=-1)
{
int zona=val%nr_zone;
hash[zona][poz]=hash[zona].back();
hash[zona].pop_back();
}
}
int main()
{int n,i,x,y;
vector <int> hash[nr_zone];
f>>n;
for (i=0;i<n;++i)
{
f>>x>>y;
if (x==1) inserare(hash,y);
else if (x==2) del(hash,y);
else
{
if (cautare(hash,y)!=-1) g<<1<<"\n";
else g<<0<<"\n";
}
}
return 0;
}