Pagini recente » Cod sursa (job #100164) | Cod sursa (job #621822) | Cod sursa (job #923895) | Cod sursa (job #569493) | Cod sursa (job #1293686)
#include <iostream>
#include <vector>
#include <fstream>
#define DIM 999910
using namespace std;
vector<int> F[DIM];
// adresa a unui element dintr-un vector de inturi
vector<int>::iterator it;
int n, i, x, t, poz;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector<int>::iterator search(int x, int p) {
// returneaza -1 daca x nu e in F[p] sau daca e returneaza pozitia
vector<int>::iterator it;
for (it = F[p].begin() ; it != F[p].end() ; it++ ) {
// it ia valoarea adresei primului element din vectorul F[p]
// si la fiecare pas trece pe urmatorul element
if (x == *it)
return it;
}
return it;
}
int main () {
fin>>n;
for (i=1;i<=n;i++) {
fin>>t>>x;
if (t == 1) {
// adaugam pe x in vectorul F[ x%DIM ];
it = search(x, x%DIM);
if (it == F[x%DIM].end()) {
F[x%DIM].push_back(x);
}
}
if (t == 2) {
it = search(x, x%DIM);
if (it != F[x%DIM].end()) {
F[x%DIM].erase(it);
}
}
if (t == 3) {
if (search(x, x%DIM) != F[x%DIM].end())
fout<<"1\n";
else
fout<<"0\n";
}
}
return 0;
}