Cod sursa(job #3211431)

Utilizator NRGrbStoica Robert NRGrb Data 9 martie 2024 12:12:36
Problema Hashuri Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

long long putere[15];

int hashuri(long long x){
    int h=0;
    int cnt=0;
    while(x!=0){
        int cif=x%10;
        h += (cif * putere[cnt])%999331;
        x=x/10;
        cnt++;
    }
    return h;
}

bool fr[5005];
int main()
{   int n;
    fin>>n;
    putere[0]=1;
    for(int i=1; i<=15; i++){
        putere[i]=11*putere[i-1]%999331;
    }
    for(int i=1; i<=n; i++){
        int op;
        fin>>op;
        long long nr;
        fin>>nr;
        if(op==1){
            if(fr[hashuri(nr)]==0)
                fr[hashuri(nr)]=1;
        }else if(op==2){
            if(fr[hashuri(nr)]==1)
                fr[hashuri(nr)]=0;
        }else if(op==3){
            if(fr[hashuri(nr)]==1)
                fout<<1<<"\n";
            else
                fout<<0<<"\n";
        }
    }

    return 0;
}