Le stazioni di Gazzada (4 binari) e Castronno (3 binari) sono collegate da un unico binario.

Ogni stazione è un capolinea.

Bisogna gestire il movimento dei treni tra le due stazioni, considerando la disponibilità dei binari e il transito sull'unico binario che le collega.

L'obiettivo è garantire un funzionamento corretto e sincronizzato del sistema, evitando conflitti tra i treni.

Analisi del problema: Abbiamo due stazioni, Gazzada e Castronno, collegate da un unico binario. Ogni stazione ha un numero limitato di binari (4 per Gazzada, 3 per Castronno). I treni devono essere gestiti in modo che non ci siano conflitti sul binario unico.


1. Arrivo di un treno in stazione

[Inizio] → [Il treno chiede di entrare nella stazione] → [Binari disponibili?]
   |           | No → [Il treno deve attendere] → [Riprova]
   | Sì       ↓
   |→ [Il treno viene assegnato a un binario libero] → [Fine]

2. Transito sul binario unico

[Inizio] → [Il treno richiede accesso al binario unico] → [Il binario è libero?]
   |           | No → [Il treno deve attendere] → [Riprova]
   | Sì       ↓
   |→ [Il binario viene occupato] → [Il treno attraversa] → [Il binario viene liberato] → [Fine]

3. Partenza di un treno dalla stazione

[Inizio] → [Il treno parte dalla stazione] → [Richiede transito sul binario unico]
   |→ [Segue lo schema di transito]
   |→ [Arriva all'altra stazione] → [Assegnazione a un binario] → [Fine]