Cod sursa(job #670591)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 29 ianuarie 2012 15:11:19
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");

const int P=666013;

vector <int> a[P];

int n;

void insert(int x,int y){
	int h=(x*y)%P,i;
	bool ok=0;
	for(i=0;i<a[h].size();i++){
		if(a[h][i]==x)
			ok=1;
	}
	if(ok==0){
		a[h].push_back(x);
	}
}

void sterge(int x,int y){
	int h=(x*y)%P,i;
	bool ok=0;
	for(i=0;i<a[h].size();i++){
		if(a[h][i]==x){
			a[h].erase(i);
			return;
		}
	}
}

void query(int x,int y){
	int h=(x*y)%P,i;
	int ok=0;
	for(i=0;i<a[h].size();i++){
		if(a[h][i]==x)
			ok=1;
	}
	cout<<ok<<"\n";
}

int main(){
	int i,x,op;
	in>>n;
	for(i=1;i<=n;i++){
		in>>op>>x;
		if(op==1){
			insert(x,i);
		}
		if(op==2){
			sterge(x,i);
		}
		if(op==3){
			query(x,i);
		}
	}
	return 0;
}