Pagini recente » Cod sursa (job #791441) | Cod sursa (job #2195317) | Cod sursa (job #473610) | Cod sursa (job #1202257) | Cod sursa (job #424983)
Cod sursa(job #424983)
#include <list>
#include <fstream>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
list<int> H[100020];
list<int>::iterator it;
int n,i,j,op,val;
int hash_func(int val)
{
return val%n;
}
int main()
{
in>>n;
for(i=1; i<=n; i++)
{
in>>op>>val;
if(op == 1)
{
if(H[hash_func(val)].empty())
{
H[hash_func(val)].push_back(val);
continue;
}
it = H[hash_func(val)].begin();
while(it != H[hash_func(val)].end() && *it != val)
it++;
if(it == H[hash_func(val)].end())
H[hash_func(val)].push_back(val);
}
else if(op == 2)
{
if(H[hash_func(val)].empty())
continue;
it = H[hash_func(val)].begin();
while(it != H[hash_func(val)].end() && *it != val)
it++;
if(it != H[hash_func(val)].end())
H[hash_func(val)].erase(it);
}
else if(op == 3)
{
if(H[hash_func(val)].empty())
{
out<<0<<'\n';
continue;
}
it = H[hash_func(val)].begin();
while(it != H[hash_func(val)].end() && *it != val)
it++;
out <<(it != H[hash_func(val)].end())<<'\n';
}
}
return 0;
}