Pagini recente » Cod sursa (job #2330713) | Cod sursa (job #380992) | Cod sursa (job #2851529) | Cod sursa (job #2799551) | Cod sursa (job #1099202)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
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;
}