Pagini recente » Cod sursa (job #2647804) | Cod sursa (job #2400218) | Cod sursa (job #849091) | Cod sursa (job #1077151) | Cod sursa (job #404895)
Cod sursa(job #404895)
#include<iostream.h>
#include<fstream.h>
const int mod=666013;
struct nod {
int inf;
nod *next;
}*v[666013],*p;
void op1(int x)
{
int r,ok=1;
r=x%mod;
p=v[r];
while(p && ok){
if(p->inf==x)ok=0;
p=p->next;
}
if(ok){
p=new nod;
p->inf=x;
p->next=v[r];
v[r]=p;
}
}
void op2(int x)
{
int r;
r=x%mod;
p=v[r];
if(p){
if(p->inf==x){
if(p->next)v[r]=v[r]->next;
else v[r]=NULL;
return;
}
while(p->next){
if(p->next->inf==x)
{
if(p->next->next)p->next=p->next->next;
else p->next=NULL;
return;
}
p=p->next;
}
}
}
int op3(int x)
{
int r;
r=x%mod;
p=v[r];
while(p){
if(p->inf==x)return 1;
p=p->next;
}
return 0;
}
int main()
{
int i,n,op,x;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin>>n;
for(i=1;i<=n;i++){
fin>>op>>x;
switch(op){
case 1:op1(x);break;
case 2:op2(x);break;
case 3:fout<<op3(x)<<'\n';break;
}
}
return 0;
}