Pagini recente » Cod sursa (job #10146) | Cod sursa (job #1275293) | Cod sursa (job #921298) | Cod sursa (job #2828725) | Cod sursa (job #2894860)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int>h[666015];
int main()
{ ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n, tip_op, elem, ok,ct,i,cst;
cst=666013;
f>>n;
for(i=1;i<=n;i++)
{
f>>tip_op>>elem;
if(tip_op==1)
{ ct=elem%cst;
ok=0;
k=0;
//verificam daca elementul citit este in multime
while(unsigned k<h[ct].size())
{
if(h[ct][k]==elem)
{
ok=1;
break;
}
k++;
}
//daca elementul nu s-a gasit in multime, il adaugam in multime
if(ok==0)
{
h[ct].push_back(elem);
}
}
else
if(tip_op==2)
{ ct=elem%cst;
k=0;
//verificam daca elementul pe care dorim sa il stergem se gaseste in multime
while(unsigned k<h[ct].size())
{
if(h[ct][k]==elem)
{
swap(h[ct][k],h[ct][h[ct].size()-1]);
h[ct].pop_back();
break;
}
k++;
}
}
else
if(tip_op==3)
{ ct=elem%cst;
ok=0;
k=0;
while(unsigned k<h[ct].size())
{
if(h[ct][k]==elem)
{
ok=1;
break;
}
k++;
}
g<<ok<<"\n";
}
}
return 0;
}