Cod sursa(job #950779)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 17 mai 2013 20:30:13
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <fstream>
#include <list>

using namespace std;

#define mod 1234
list<int> v[mod];

list<int>::iterator find(int x)
{
   int b=x%mod;
   list<int>::iterator it;
   
   for(it=v[b].begin();it!=v[b].end();it++)
     if(*it==x)
       break;
       
   return it;
}

void insert(int x)
{
   int b=x%mod;  
   if(find(x)==v[b].end())
      v[b].push_back(x);  
}

void del(int x)
{
   int b=x%mod;
   list<int>::iterator it=find(x);
   
   if(it!=v[b].end())
     v[b].erase(it);     
}

int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    
    int n,cod,x,i;
    
    fin>>n;
    for(i=0;i<n;i++)
    {
       fin>>cod>>x;
       if(cod==1)
         insert(x);
       else if(cod==2)
         del(x);
       else
       {
          if(find(x)!=v[x%mod].end())
            fout<<"1\n";
          else
            fout<<"0\n";    
       }                
    }
    
    fin.close();
    fout.close();
    //system("PAUSE");
    return 0;
}