Pagini recente » Cod sursa (job #1833472) | Cod sursa (job #856283) | Cod sursa (job #419) | Cod sursa (job #50388) | Cod sursa (job #874609)
Cod sursa(job #874609)
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 666013
int N;
vector<int> T[MOD];
void insert_value(int value)
{
int pos = value % MOD;
vector<int>::iterator it;
for(it = T[pos].begin(); it != T[pos].end(); ++it)
if(*it == value)
return;
T[pos].push_back(value);
}
void remove_value(int value)
{
int pos = value % MOD;
vector<int>::iterator it;
for(it = T[pos].begin(); it != T[pos].end(); ++it)
if(*it == value)
{
T[pos].erase(it);
return;
}
}
bool find_value(int value)
{
int pos = value % MOD;
vector<int>::iterator it;
for(it = T[pos].begin(); it != T[pos].end(); ++it)
if(*it == value)
return true;
return false;
}
int main(int argc, const char *argv[])
{
int op, val;
FILE *f = fopen("hashuri.in", "r");
FILE *g = fopen("hashuri.out", "w");
for(fscanf(f, "%d", &N); N; --N)
{
fscanf(f, "%d %d", &op, &val);
printf("%d %d\n", op, val);
if(op == 1)
insert_value(val);
else
if(op == 2)
remove_value(val);
else
fprintf(g, "%d\n", find_value(val));
}
fclose(f);
fclose(g);
return 0;
}