Cod sursa(job #255420)

Utilizator ConsstantinTabacu Raul Consstantin Data 9 februarie 2009 18:07:30
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.09 kb
#include<stdio.h>
int ha[1000000][4],hb[1000000][4],b,p;
int a,c,i,j,m,n;
FILE *g=fopen("hashuri.out","w");
void add(unsigned long long int x) {
p=x%n;
for(j=0;j<4;j++)
        if(ha[p][j]==0)
                {ha[p][j]=x;
                return ;}
        else
       if(hb[p][j]==0)
        {hb[p][j]=x;
        return ;}


}


void del(unsigned long long int x){
p=x%n;
for(j=0;j<4;j++)
        if(ha[p][j]==x)
                {ha[p][j]=0;
                return ;
                }
       else
        if(hb[p][j]==x)
                {hb[p][j]=0;
                return ;}

}

void querry(unsigned long long int x){
p=x%(long long )n;
for(j=0;j<4;j++)
        if(ha[p][j]==x||hb[p][j]==x)
                {fprintf(g,"%d\n",1);return ;}
fprintf(g,"%d\n",0);



}
int main(){
FILE *f=fopen("hashuri.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
        {fscanf(f,"%d%d",&a,&b);
        if(a==1)
                add(b);
       else
       if(a==2)
                del(b);
      else
                querry(b);
       }
 fclose(f);
 fclose(g);
 return 0;}