Pagini recente » Cod sursa (job #2465395) | Cod sursa (job #734225) | Cod sursa (job #934163) | Cod sursa (job #796437) | Cod sursa (job #527960)
Cod sursa(job #527960)
#include <stdio.h>
#include <vector>
#define mod 666013
using namespace std;
int n,i;
int op,x;
vector <int> G[mod];
vector <int>::iterator cauta(int x)
{
int l=x % mod;
vector <int>::iterator it;
for (it=G[l].begin();it!=G[l].end();it++)
if (*it==x)
return it;
return G[l].end();
}
int insereaza(int x)
{
int l=x % mod;
if (cauta(x)==G[l].end())
G[l].push_back(x);
return 0;
}
int sterge(int x)
{
int l=x % mod;
vector <int>::iterator it=cauta(x);
if (it!=G[l].end())
G[l].erase(it);
return 0;
}
int main()
{
FILE * f;
f=fopen("hashuri.in","r");
FILE * g;
g=fopen("hashuri.out","w");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
{
fscanf(f,"%d %d", &op, &x);
if (op==1)
insereaza(x);
else if (op==2)
sterge(x);
else
fprintf(g,"%d\n", cauta(x)!=G[x%mod].end());
}
return 0;
fclose(f);
fclose(g);
}