Pagini recente » Cod sursa (job #1373712) | Cod sursa (job #2849059) | Cod sursa (job #214899) | Cod sursa (job #2988081) | Cod sursa (job #860624)
Cod sursa(job #860624)
#include <cstdio>
#include <vector>
#define mod 666013
using namespace std;
vector<int> H[mod];
void add(int x)
{
const int m = x%mod;
vector<int>::iterator i=H[m].begin(), stop=H[m].end();
while (i != stop)
{
if (*i == x)
return;
++i;
}
H[m].push_back(x);
}
void del(int x)
{
const int m = x%mod;
vector<int>::iterator i=H[m].begin(), stop=H[m].end();
while (i != stop)
{
if (*i == x)
{
*i = H[m].at(H[m].size()-1);
H[m].pop_back();
return;
}
++i;
}
}
short search(int x)
{
const int m = x%mod;
vector<int>::iterator i=H[m].begin(), stop=H[m].end();
while (i != stop)
{
if (*i == x)
return 1;
++i;
}
return 0;
}
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int n, i, c, x;
scanf("%d", &n);
for (i=0; i<n; ++i)
{
scanf("%d%d", &c, &x);
switch (c)
{
case 1: add(x); break;
case 2: del(x); break;
case 3: printf("%d\n", search(x)); break;
}
}
return 0;
}