Pagini recente » Cod sursa (job #1054873) | Cod sursa (job #3214593) | Cod sursa (job #3255565) | Cod sursa (job #1148344) | Cod sursa (job #1582705)
#include <fstream>
#define maxim 1000081
using namespace std;
int N, oper , x;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
typedef struct nod{
int info;
nod* next;
}* lnod;
lnod H[maxim], temp , temp_next;
void add(lnod &a, int info){
lnod b = new nod;
b->info = info;
b->next = a;
a = b;
}
bool este(int info){
for(lnod l = H[info % maxim]; l!=NULL; l = l->next)
if(l->info == info) return 1;
return 0;
}
int main(){
cin >> N;
for(int i = 1; i <= N; i++){
cin >> oper >> x;
if(oper == 1){
if(este(x) == 0)
add(H[x % maxim] , x);
}
if(oper == 2){
if(este(x) == 1)
for(int i = 0; i < maxim; i++) {
lnod temp = H[i] , temp_next;
while(NULL != temp) {
temp_next = temp->next;
delete temp;
temp = temp_next;
}
H[i] = NULL;
}
}
if(oper == 3){
cout << este(x) <<"\n";
}
}
return 0;
}