Pagini recente » Cod sursa (job #25051) | Cod sursa (job #3238442) | Cod sursa (job #3169503) | Cod sursa (job #2549604) | Cod sursa (job #1047622)
#include <iostream>
#include <fstream>
#include <unordered_set>
#define nr_zone 666013
using namespace std;
unordered_set<int> unset;
int main(){
long n,i,op,x;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=0;i<n;i++){
f>>op>>x;
if(op==1)
unset.insert(x);
else if(op==2)
unset.erase(x);
else if(op==3)
g<<(unset.find(x)!=unset.end())<<'\n';
}
return 0;
}
/*
---100 puncte--- hashuri
#include <iostream>
#include <fstream>
#include <vector>
#define nr_zone 666013
using namespace std;
vector<int> hashh[nr_zone];
int cautare(vector<int> hashh[nr_zone], int val){
int zona=val%nr_zone;
int i;
for(i=0;i<hashh[zona].size();i++)
//cout<<hash[zona][i];
if(hashh[zona][i]==val)
return i;
return -1;
}
void inserare(vector<int> hashh[nr_zone], int val){
int zona=val%nr_zone;
if(cautare(hashh, val)>-1)
return;
//cout<<zona;
hashh[zona].push_back(val);
//cout<<hash[zona][0];
}
void sterge(vector<int> hashh[nr_zone], int val){
int poz=cautare(hashh, val);
if(poz!=-1){
int zona=val%nr_zone;
hashh[zona][poz]=hashh[zona].back();
hashh[zona].pop_back();
}
}
int main(){
long n,i,op,x;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=0;i<n;i++){
f>>op>>x;
if(op==1)
inserare(hashh,x);
else if(op==2)
sterge(hashh,x);
else if(op==3)
if(cautare(hashh,x)>-1)
g<<1<<'\n';
else g<<0<<'\n';
}
return 0;
}*/
/*
---70-80 puncte---
#include <iostream>
#include <fstream>
#include <set>
using namespace std;
int main(){
set<long> a;
long n,i,op,x;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=0;i<n;i++){
f>>op>>x;
if(op==1)
a.insert(x);
else if(op==2)
a.erase(x);
else if(op==3)
g<<(a.find(x)!=a.end())<<'\n';
}
return 0;
}*/
/*
---30 puncte---
#include <iostream>
#include <fstream>
using namespace std;
long long n,i,op,x,ap[200000000];
int main()
{
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=0;i<n;i++){
f>>op>>x;
if(op==1)
ap[x]='1';
else if(op==2)
ap[x]='0';
else if(op==3)
if(ap[x]=='1')
g<<'1'<<'\n';
else g<<'0'<<'\n';
}
return 0;
}
---30 puncte---
*/