Pagini recente » Cod sursa (job #2963051) | Cod sursa (job #2616236) | Cod sursa (job #2825295) | Cod sursa (job #2518153) | Cod sursa (job #2617515)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
#define hash_linii 500000
vector<int> tabela_hash[hash_linii];
int poz_in_hash_in_lista(int x) {
int cheie = x%hash_linii;
auto it=tabela_hash[cheie].begin();
int sem=0;
while(it!=tabela_hash[cheie].end() && sem==0) {
if(*it==x) {
return it-tabela_hash[cheie].begin();
sem=1;
}
it++;
}
return -1;
}
int main() {
int n, aux, cheie, opt;
int ok;
f>>n;
for(int i=0;i<n;i++){
f>>opt;
f>>aux;
cheie=aux%hash_linii;
if(opt==1){
if (poz_in_hash_in_lista(aux)==-1)
tabela_hash[cheie].push_back(cheie);
}
else if(opt==2){
if(poz_in_hash_in_lista(aux)!=-1){
tabela_hash[cheie].erase(tabela_hash[cheie].begin()+(poz_in_hash_in_lista(aux)));
}
}
else if(opt==3){
ok=poz_in_hash_in_lista(aux);
if(ok==-1)
g<<0;
else g<<1;
g<<'\n';
}
}
return 0;
}