Cod sursa(job #658193)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 8 ianuarie 2012 11:59:22
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
vector <int> v[100003][7];
int cauta(int l, int c, int x)
{
	int i,n;
	n=int(v[l][c].size())-1;
	for(i=0;i<=n;i++)
		if(v[l][c][i]==x)
			return i;
	return -1;
}
void adauga(int l, int c, int x)
{
	if(cauta(l,c,x)==-1)
		v[l][c].push_back(x);
}
void sterge(int l, int c, int x)
{
	int poz;
	poz=cauta(l,c,x);
	if(poz!=-1) 
		v[l][c].erase(v[l][c].begin()+poz);
}
int main ()
{
	int n,i,op,x;
	ifstream f("hashuri.in");
	ofstream g("hashuri.out");
	f>>n;
	for(i=1;i<=n;i++) {
		f>>op>>x;
		if(op==1)
			adauga(x%100003,x%100003%7,x);
		else if(op==2)
			sterge(x%100003,x%100003%7,x);
		else {
			if(cauta(x%100003,x%100003%7,x)==-1)
				g<<"0"<<'\n';
			else g<<"1"<<'\n';
		}
	}
	f.close();
	g.close();
	return 0;
}