Pagini recente » Cod sursa (job #1669623) | Cod sursa (job #238012) | Cod sursa (job #2990254) | Cod sursa (job #3214320) | Cod sursa (job #1809285)
#include <iostream>
#include <fstream>
using namespace std;
const long k=666019;
int val[1000000],urm[1000000],lst[k],n,m,a,nr;
bool exista(int x)
{
int r=x%k,p;
p=lst[r];
while(p!=0)
{
if(val[p]==x)
return true;
p=urm[p];
}
return false;
}
void adauga(int x)
{
int r=x%k,p;
nr++;
val[nr]=x;
urm[nr]=lst[r];
lst[r]=nr;
}
void sterg(int x)
{
int r=x%k,p;
p=lst[r];
if(val[p]==r)
{
lst[r]=urm[p];
return;
}
while(urm[p]!=0)
if(val[urm[p]]==x)
urm[p]=urm[urm[p]];
else
p=urm[p];
}
int main()
{
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(int i=1;i<=n;i++)
{
f>>a>>m;
bool var=exista(m);
if(a==1){
if(!var)
adauga(m);
}
else if(a==2){
if(var)
sterg(m);
}
else if(var)
g<<"1\n";
else
g<<"0\n";
}
cout << "Hello world!" << endl;
return 0;
}