Advertisement
maxim_shlyahtin

6

Dec 10th, 2023
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1. class Member:
  2.     def __init__(self, name, age, cats, cat_names):
  3.         self.name = name
  4.         self.age = age
  5.         self.cats = cats
  6.         self.cat_names = cat_names
  7.  
  8.  
  9. hash_table = [None for _ in range(20)]
  10.  
  11.  
  12. def hash_function(member, i):
  13.     cat_names_length = sum(len(name) for name in member.cat_names)
  14.     return (member.age * member.cats + cat_names_length + i) % 20
  15.  
  16.  
  17. def insert(hash_table, member, hash_function):
  18.     i = 0
  19.     while True:
  20.         index = hash_function(member, i)
  21.         if hash_table[index] is None:
  22.             hash_table[index] = member
  23.             return index
  24.         else:
  25.             i += 1
  26.  
  27.  
  28. n = int(input())
  29. for _ in range(n):
  30.     data = input().split()
  31.     name = data[0]
  32.     age = int(data[1])
  33.     cats = int(data[2])
  34.     cat_names = data[3:]
  35.     member = Member(name, age, cats, cat_names)
  36.     insert(hash_table, member, hash_function)
  37.  
  38. for i, member in enumerate(hash_table):
  39.     if member is not None:
  40.         print(f"{i} {member.name} {member.age}")
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement