Pagini recente » Cod sursa (job #2356526) | Cod sursa (job #1827822) | Cod sursa (job #546294) | Cod sursa (job #1076062) | Cod sursa (job #749423)
Cod sursa(job #749423)
#include<fstream>
using namespace std;
#define MOD 666013
ifstream f("hashuri.in");
ofstream g("hashuri.out");
struct Nod {
int val;
Nod *urm;
};
Nod *list[MOD];
void insert(int x) {
int key = x % MOD;
Nod *q;
q = new Nod;
q->val = x;
q->urm = list[key];
list[key] = q;
}
int find(int x) {
int key = x % MOD;
Nod *q;
for(q=list[key]; q; q=q->urm)
if(x == q->val)
return 1;
return 0;
}
void del(int x) {
Nod *q;
int key = x % MOD;
if(list[key]->val == x) {
Nod *q;
q = list[key];
list[key] = list[key]->urm;
delete(q);
return;
}
for(q=list[key]; q->urm; q=q->urm) {
if(q->urm->val == x) {
Nod *t=q->urm;
q->urm = q->urm->urm;
delete(t);
break;
}
}
}
int main() {
int op, x, t;
f>>t;
while(t--) {
f>>op>>x;
if(op==1) {
if(!find(x))
insert(x);
}
else
if(op==2) {
if(find(x))
del(x);
}
else
g<<find(x)<<"\n";
}
f.close();
g.close();
return 0;
}