Pagini recente » Istoria paginii runda/sim11_3 | Cod sursa (job #726255) | Cod sursa (job #2010821) | Cod sursa (job #1283591) | Cod sursa (job #629344)
Cod sursa(job #629344)
#include<vector>
#include<fstream>
using namespace std;
const int P = 666013;
int n;
vector<int> A[P];
void Add( int x)
{
int a = x % P;
vector<int>::iterator it;
int ok = 0;
for ( it=A[a].begin() ; it != A[a].end(); ++it )
if( *it == x)
ok = 1;
if( ok ==0 )
A[a].push_back(x);
}
void Delete( int x)
{
int a = x %P;
vector<int>::iterator it;
for ( it=A[a].begin() ; it != A[a].end(); ++it )
if( *it == x)
{
A[a].erase (it);
return;
}
}
int Search(int x)
{
int a = x %P;
vector<int>::iterator it;
for ( it=A[a].begin() ; it != A[a].end(); ++it )
if( *it == x)
return 1;
return 0;
}
int Op(int x, int y)
{
if( x == 1 )//adauga
{
Add(y);
}
else
if(x==2)//sterge
{
Delete(y);
}
else
if(x==3)//returneaza 1 daca si numai daca x este in multime, iar in caz contrar returneaza 0.
{
return Search(y);
}
return -1;
}
void ReadData()
{
ofstream fout("hasuri.out");
ifstream fin("hasuri.in");
int i,x,y,ok;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x>>y;
ok = Op(x,y);
if( ok == 1 )
fout<<"1\n";
else
if(ok == 0)
fout<<"0\n";
}
}
int main()
{
ReadData();
return 0;
}