Pagini recente » Cod sursa (job #1083442) | Cod sursa (job #130261) | Cod sursa (job #2810646) | Cod sursa (job #1897929) | Cod sursa (job #709084)
Cod sursa(job #709084)
#include<iostream>
#include<fstream>
using namespace std;
const int nmax = 1000003;
int v[nmax],n;
inline int has (int x) {return (x%nmax);}
void inserare (int x)
{
int k=0;
while (v[has(x+k)]!=0 && k<=n) k++;
if (k>=n+1) {cout<<"Vectorul este plin!"; return;}
v[has(x+k)]=x;
}
void stergere (int x)
{
int k=0;
while (v[has(x+k)]!=x && k<=n) k++;
if (k<=n) v[has(x+k)]=0;
}
bool cautare (int x)
{
int k=0;
while (v[has(x+k)]!=x && k<=n) k++;
if (k<=n && v[has(x+k)]==x) return 1;
else return 0;
}
int main ()
{
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
int op,x;
fin>>n;
for (int i=1;i<=n;i++)
{
fin>>op>>x;
if (op==1) inserare(x);
else if (op==2) stergere(x);
else fout<<cautare(x)<<'\n';
}
fin.close();
fout.close();
return 0;
}