Cod sursa(job #357345)

Utilizator petrecgClinciu Glisca Petre petrecg Data 18 octombrie 2009 21:43:33
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int mod=534371;
vector<int>hash[mod];
int n,x,y,i;
inline vector<int>::iterator find(int y)
{int list=y%mod;
 for(vector<int>::iterator it=hash[list].begin();it!=hash[list].end();++it)
  if(*it==y) return it;
 return hash[list].end();
}

inline void insert(int y)
{int list=y%mod;
 if(find(y)==hash[list].end())
 hash[list].push_back(y);
}

inline void drop(int y)
{int list=y%mod;
 vector<int>::iterator it=find(y);
 if(it!=hash[list].end())
 hash[list].erase(it);
}

int main()
{f>>n;
 for(i=1;i<=n;++i)
  {f>>x>>y;
   if(x==1)insert(y);
   if(x==2)drop(y);
   if(x==3)if(find(y)!=hash[y%mod].end()) g<<1<<"\n";
					else g<<"0\n";
  }
 f.close();
 g.close();
 return 0;
}