Pagini recente » Cod sursa (job #559763) | Cod sursa (job #689126) | Cod sursa (job #661711) | Cod sursa (job #2755474) | Cod sursa (job #2623572)
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <fstream>
#define MAXX 1000005
#define MAXX1 1001
#define MAXX2 20
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int> V[MAXX];
inline vector<int>::iterator caut(int x,int val)
{
vector<int>::iterator i;
for(i=V[val].begin(); i!=V[val].end(); ++i)
if(*i==x)
return i;
return V[val].end();
}
inline void adaug(int x,int val)
{
if(caut(x,val)==V[val].end())
V[val].push_back(x);
}
inline void elimin(int x,int val)
{
vector<int>::iterator i;
i = caut(x,val);
if(i!=V[val].end())
V[val].erase(i);
}
int N,nr,cn,Gasit,val,x;
int main()
{
f >> N;
for ( int i=1; i<=N; i++ )
{
f >> cn >> nr;
x = nr%MAXX;
if ( cn == 1)
adaug(nr,x);
else if ( cn == 2 )
elimin(nr,x);
else if( cn == 3 )
{
Gasit = 0 ;
if ( caut(nr,x)!=V[x].end() )
{
g << "1\n" ;
Gasit = 1;
}
if(Gasit==0)
g << "0\n" ;
}
}
return 0;
}