| 15 | |
| 16 | @dataclass |
| 17 | class Node: |
| 18 | value: int = 0 |
| 19 | neighbors: list["Node"] | None = None |
| 20 | |
| 21 | def __post_init__(self) -> None: |
| 22 | """ |
| 23 | >>> Node(3).neighbors |
| 24 | [] |
| 25 | """ |
| 26 | self.neighbors = self.neighbors or [] |
| 27 | |
| 28 | def __hash__(self) -> int: |
| 29 | """ |
| 30 | >>> hash(Node(3)) != 0 |
| 31 | True |
| 32 | """ |
| 33 | return id(self) |
| 34 | |
| 35 | |
| 36 | def clone_graph(node: Node | None) -> Node | None: |