Pagini recente » Cod sursa (job #3181333) | Cod sursa (job #2539618) | Monitorul de evaluare | Cod sursa (job #849948) | Cod sursa (job #1413874)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int mod=100003;
int N, x, tip;
vector < int > H[mod];
vector < int >::iterator it;
void add(int val)
{
int r=val%mod; it=H[r].begin();
for (; it!=H[r].end(); ++it)
if (*it==val) return;
H[r].push_back(val);
}
void elim(int val)
{
int r=val%mod; it=H[r].begin();
for (; it!=H[r].end(); ++it)
if (*it==val)
{
*it=H[r].back();
H[r].pop_back();
return;
}
}
bool cauta(int val)
{
int r=val%mod; it=H[r].begin();
for (; it!=H[r].end(); ++it)
if (*it==val) return 1;
return 0;
}
int main()
{
f>>N;
for (int i=1; i<=N; ++i)
{
f>>tip>>x;
if (tip==1) add(x);
else if (tip==2) elim(x);
else if (cauta(x)) g<<"1\n";
else g<<"0\n";
}
return 0;
}