Pagini recente » Cod sursa (job #752068) | Cod sursa (job #2087816) | Cod sursa (job #2079492) | Cod sursa (job #549928) | Cod sursa (job #629328)
Cod sursa(job #629328)
#include<fstream>
#include<vector>
using namespace std;
int n,op;
long x;
vector<int> v[666013];
int p=666013;
void adauga(long x)
{
int mod,sw=0;
mod=x%p;
int lime=v[mod].size();//lungimea lui v[mod]
for(int i=0;i<lime;i++)//vectorul e ca si o matrice
if(v[mod][i]==x)
sw++;
if(sw==0)
v[mod].push_back(x);
}
void sterge(long x)
{
int mod;
mod=x%p;
int lime=v[mod].size();
for(int i=0;i<lime;i++)
if(v[mod][i]==x)
{
v[mod][i]=v[mod][lime-1];
v[mod].pop_back();
}
}
int gasit(long x)
{
int mod;
mod=x%p;
int lime=v[mod].size();
for(int i=0;i<lime;i++)
if(v[mod][i]==x)
return 1;
return 0;
}
int main()
{
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin>>n;
int i;
for(i=1;i<=n;i++)
{
fin>>op>>x;
if(op==1)
{
adauga(x);
}
else if(op==2)
{
sterge(x);
}
else
fout<<gasit(x)<<'\n';
}
return 0;
}