Pagini recente » Cod sursa (job #2280490) | Cod sursa (job #1242504) | Cod sursa (job #982732) | Cod sursa (job #2532395) | Cod sursa (job #1609281)
/*Fie o multime de numere naturale initial vida. Asupra acestei multimi se efectueaza operatii de urmatoarele tipuri:
operatia de tipul 1: se adauga elementul x la multime (unde x este un parametru al operatiei). Daca x este deja in multime, atunci aceasta ramane neschimbata.
operatia de tipul 2: se sterge elementul x, daca acesta este deja in multime. In caz contrar, multimea ramane neschimbata.
operatia de tipul 3: returneaza 1 daca si numai daca x este in multime, iar in caz contrar returneaza 0.
hashuri.in hashuri.out
7 0
1 3 1
1 20 0
2 7
3 4
3 20
2 20
3 20*/
#include<iostream>
#include<fstream>
using namespace std;
int v[1000001];
int main()
{
int i,j,k,N,z=0,ok,y;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin>>N;
for(k=1;k<=N;k++)
{
fin>>i>>j;
if(i==1)
{
ok=0;
for(int t=1; t<=z;t++)
{
if(j==v[t])
{
ok=1;
}
}
if(ok==0)
{
z++;
v[z]=j;
}
}
else
{
if(i==2)
{
ok=0;
for(int t=1;t<=z;t++)
{
if(j==v[t])
{
ok=1;
y=i;
}
}
if(ok==1)
{
for(int t=y;t<=z;t++)
{
v[t]=v[t+1];
}
z--;
}
}
else
{
ok=0;
for(int t=1;t<=z;t++)
{
if(j==v[t])
{
ok=1;
}
}
fout<<ok<<'\n';
}
}
}
fin.close();
fout.close();
return 0;
}