Cod sursa(job #1613236)

Utilizator EdyOnuEdy Onu EdyOnu Data 25 februarie 2016 11:43:42
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <cstdio>
#include <list>
#define MOD 660013
using namespace std;
list <long> H[MOD];
int N,op;
long val;
list<long>::iterator Found(int x)
{int Key=x%MOD;
 list<long>::iterator it;
 for(it=H[Key].begin();it!=H[Key].end();++it)if(*it==x)return it;
 return H[Key].end();
}
void ReadData()
{FILE *fin=fopen("hashuri.in","r");
 FILE *fout=fopen("hashuri.out","w");
 fscanf(fin,"%d",&N);
 for(int i=1;i<=N;++i)
 {fscanf(fin,"%d %lld",&op,&val);
   switch(op)
    {case 1:{
      if(Found(val)==H[val%MOD].end())H[val%MOD].push_back(val);
      break;
     }
     case 2:
        {list<long>::iterator it=Found(val);
         if(it!=H[val%MOD].end())H[val%MOD].erase(it);
         break;
        }
     case 3:
     {Found(val) != H[val%MOD].end() ? fprintf(fout,"%d\n",1) : fprintf(fout,"%d\n",0);
       break;
     }
    }
 }
}
int main()
{ReadData();
 return 0;
}