class Kamus:
def __init__(self) -> None:
self.data: dict = {}
def tambah(self, kata: str, sinonim: list[str]) -> None:
if kata not in self.data:
self.data[kata] = set()
for s in sinonim:
self.data[kata].add(s)
if s not in self.data:
self.data[s] = set()
self.data[s].add(kata)
def ambil_sinonim(self, kata: str) -> list[str] | None:
if kata not in self.data:
return None
return list(self.data[kata])
kamus = Kamus()
kamus.tambah('big', ['large', 'great'])
kamus.tambah('big', ['huge', 'fat'])
kamus.tambah('huge', ['enormous', 'gigantic'])
print(kamus.ambil_sinonim('big'))
print(kamus.ambil_sinonim('huge'))
print(kamus.ambil_sinonim('gigantic'))
print(kamus.ambil_sinonim('colossal'))
Y2xhc3MgS2FtdXM6CiAgICBkZWYgX19pbml0X18oc2VsZikgLT4gTm9uZToKICAgICAgICBzZWxmLmRhdGE6IGRpY3QgPSB7fQogICAgICAgIAogICAgZGVmIHRhbWJhaChzZWxmLCBrYXRhOiBzdHIsIHNpbm9uaW06IGxpc3Rbc3RyXSkgLT4gTm9uZToKICAgICAgICBpZiBrYXRhIG5vdCBpbiBzZWxmLmRhdGE6CiAgICAgICAgICAgIHNlbGYuZGF0YVtrYXRhXSA9IHNldCgpCiAgICAgICAgZm9yIHMgaW4gc2lub25pbToKICAgICAgICAgICAgc2VsZi5kYXRhW2thdGFdLmFkZChzKQogICAgICAgICAgICAKICAgICAgICAgICAgaWYgcyBub3QgaW4gc2VsZi5kYXRhOgogICAgICAgICAgICAgICAgc2VsZi5kYXRhW3NdID0gc2V0KCkKICAgICAgICAgICAgICAgIHNlbGYuZGF0YVtzXS5hZGQoa2F0YSkKICAgICAgICAgICAgICAgIAogICAgZGVmIGFtYmlsX3Npbm9uaW0oc2VsZiwga2F0YTogc3RyKSAtPiBsaXN0W3N0cl0gfCBOb25lOgogICAgICAgIGlmIGthdGEgbm90IGluIHNlbGYuZGF0YToKICAgICAgICAgICAgcmV0dXJuIE5vbmUKCiAgICAgICAgcmV0dXJuIGxpc3Qoc2VsZi5kYXRhW2thdGFdKQogICAgCmthbXVzID0gS2FtdXMoKQprYW11cy50YW1iYWgoJ2JpZycsIFsnbGFyZ2UnLCAnZ3JlYXQnXSkKa2FtdXMudGFtYmFoKCdiaWcnLCBbJ2h1Z2UnLCAnZmF0J10pCmthbXVzLnRhbWJhaCgnaHVnZScsIFsnZW5vcm1vdXMnLCAnZ2lnYW50aWMnXSkKCnByaW50KGthbXVzLmFtYmlsX3Npbm9uaW0oJ2JpZycpKQpwcmludChrYW11cy5hbWJpbF9zaW5vbmltKCdodWdlJykpCnByaW50KGthbXVzLmFtYmlsX3Npbm9uaW0oJ2dpZ2FudGljJykpCnByaW50KGthbXVzLmFtYmlsX3Npbm9uaW0oJ2NvbG9zc2FsJykpCg==