File size: 442 Bytes
d2e6f94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from __future__ import annotations

from dataclasses import dataclass


@dataclass(frozen=True)
class Junction:
    junction_id: int
    x: int
    y: int
    radius: int
    modes_present: tuple[str, ...]


@dataclass(frozen=True)
class TransportEdge:
    source: int
    target: int
    modes: tuple[str, ...]


@dataclass(frozen=True)
class LegalMove:
    destination: int
    via: tuple[int, int]
    mode: str
    blocked: bool = False