Cod sursa(job #1035933)

Utilizator harababurelPuscas Sergiu harababurel Data 18 noiembrie 2013 21:24:44
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>
#define rem x%mod
#define mod 666013
using namespace std;

int n, op, val;
vector <int> H[mod];

int findPos(int x) {
	for(int i=0; i<H[rem].size(); i++)
		if(H[rem][i] == x) return i;
	return -1;
}


void add(int x) { if(findPos(x) == -1) H[rem].push_back(x); }

void erase(int x) {
	int pos = findPos(x);
	if(pos == -1) return;
	swap(H[rem][pos], H[rem][ H[rem].size()-1 ]);
	H[rem].pop_back();
}

int main() {
	ifstream f("hashuri.in");
	ofstream g("hashuri.out");

	f>>n;
	for(int i=1; i<=n; i++) {
		f>>op>>val;
	
		if(op == 1) add(val);
		if(op == 2) erase(val);
		if(op == 3) g<<(findPos(val) == -1? "0\n":"1\n");
		
	}

	return 0;
}