Pagini recente » Cod sursa (job #2560429) | Cod sursa (job #1059103)
#include <fstream>
#include <iostream>
#include <utility>
#include <list>
using namespace std;
struct linie
{
list <short> col;
linie *next;
}*p;
void ad(int x)
{
int i;
int lin=x/1000+1;
linie *t=p, *ad;
for(i=0;i<lin;i++)
{
if(t->next==NULL)
{
ad=new linie;
ad->next=NULL;
t->next=ad;
}
t=t->next;
}
t->col.push_front(x%1000);
}
void st(int x)
{
linie *t=p;
int i, lin=x/1000+1;
for(i=0;i<lin;i++)
t=t->next;
t->col.erase(find(t->col.begin(), t->col.end(), x%1000));
}
int search(int x)
{
int lin=x/1000+1, i;
linie *t=p;
for(i=0;i<lin;i++)
t=t->next;
if(find(t->col.begin(), t->col.end(), x%1000) == t->col.end())
return 0;
return 1;
}
int main(int argc, char *argv[])
{
int n, op, x, i;
p=new linie;
p->next=NULL;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin>>n;
for(i=0;i<n;i++)
{
fin>>op>>x;
if(op==1)
ad(x);
else if(op==2)
st(x);
else
fout<<search(x)<<endl;
}
return 0;
}