Pagini recente » Cod sursa (job #607793) | Cod sursa (job #1678557) | Cod sursa (job #2868078) | Cod sursa (job #2555210) | Cod sursa (job #625615)
Cod sursa(job #625615)
#include <stdio.h>
#include <stdlib.h>
#include <vector>
using namespace std;
void myadd(vector<int> v[666013], int x)
{
int poz = x % 666013;
int i;
int len = v[poz].size();
for (i =0; i < len; i++)
{
if (v[poz][i] == x)
return;
}
v[poz].push_back(x);
}
void erase(vector<int> v[666013], int x)
{
int poz = x % 666013;
int i;
int len = v[poz].size();
for (i =0; i < len; i++)
{
if (v[poz][i] == x)
v[poz].erase(v[poz].begin() + i);
return;
}
}
int find (vector<int> v[666013], int x)
{
int poz = x % 666013;
int i;
int len = v[poz].size();
for (i =0; i < len; i++)
{
if (v[poz][i] == x)
return 1;
}
return 0;
}
int main()
{
FILE * f = fopen("hashuri.in","r"), \
* g = fopen("hashuri.out", "w");
int n, op, x;
fscanf(f, "%i", &n);
vector<int> v[666013];
int mod = 666013;
int i;
for (i = 0; i < n; i++)
{
fscanf(f, "%i%i", &op, &x);
if (op == 1)
{
myadd(v, x);
continue;
}
if (op == 2)
{
erase(v,x);
continue;
}
fprintf(g,"%i\n", find(v, x));
}
}