Pagini recente » Cod sursa (job #627078) | Cod sursa (job #3322348) | Cod sursa (job #2797482) | Monitorul de evaluare | Cod sursa (job #545899)
Cod sursa(job #545899)
#include <cstdio>
#include <vector>
using namespace std;
#define file_in "hashuri.in"
#define file_out "hashuri.out"
#define mod 666013
int Q,tip,val;
vector<int> G[mod];
void Add(int val){
int k=val%mod;
vector<int> :: iterator it;
for (it=G[k].begin();it!=G[k].end();++it)
if (*it==val)
return ;
G[k].push_back(val);
}
void Erase(int val){
int k=val%mod;
vector<int> :: iterator it;
for (it=G[k].begin();it!=G[k].end();++it)
if (*it==val){
G[k].erase(it);
return ;
}
}
int Find(int val){
int k=val%mod;
vector<int> :: iterator it;
for (it=G[k].begin();it!=G[k].end();++it)
if (*it==val)
return 1;
return 0;
}
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &Q);
while(Q--){
scanf("%d %d", &tip, &val);
if (tip==1){
Add(val);
}
else
if (tip==2){
Erase(val);
}
else{
printf("%d\n", Find(val));
}
}
return 0;
}