Pagini recente » Cod sursa (job #16500) | Cod sursa (job #640176) | Cod sursa (job #2912424) | Cod sursa (job #764991) | Cod sursa (job #3130981)
class HashTable:
def __init__(self):
self.size = 1000000
self.table = [[] for _ in range(self.size)]
self.disp = 100003
def _hash_function(self, key):
return ord(str(key)[0]) % self.disp
def insert(self, value):
index = self._hash_function(value)
self.table[index].append(value)
def delete(self, key):
index = self._hash_function(key)
slot = self.table[index]
for i in range(len(slot)):
if slot[i] == int(key):
slot[i] = None
return
def search(self, key):
index = self._hash_function(key)
slot = self.table[index]
for k in range(len(slot)):
if slot[k] == int(key):
if slot[k] is not None:
return 1
return 0
hash_table = HashTable()
f = open("hashuri.in", "r")
g = open("hashuri.out", "w")
n = int(f.readline().strip())
for i in range(n):
ops = f.readline().strip().split()
print(*ops)
if int(ops[0]) == 1:
hash_table.insert(int(ops[1]))
elif int(ops[0]) == 2:
hash_table.delete(int(ops[1]))
elif int(ops[0]) == 3:
g.write(str(hash_table.search(ops[1])))
g.write("\n")