Il tuo compito è regolare il traffico su un incrocio. Ci sono 4 strade che provengono da nord, est, sud e ovest.
L'input è una stringa che rappresenta il traffico imminente su ciascuna strada. Ad esempio, NNNWSindica che ci sono 5 macchine in totale: tre a nord, una a ovest e una a sud. L'ordine dei personaggi non ha importanza qui, NNNWSè equivalente a WNNSN.
Devi emettere l'ordine in cui le auto dovrebbero andare, usando la priorità alla giusta regola: le auto che provengono da sud devono lasciare che le auto che arrivano da est vadano per prime, est che cede a nord, nord che cede a ovest e ovest che cede a Sud.
Ad esempio, con l'ingresso NNNWS, l'automobile del sud dovrebbe andare prima, poi l'automobile dell'ovest, quindi le 3 automobili del nord. L'output dovrebbe quindi essere SWNNN.
Ci sono alcuni casi indecidibili, ad esempio NSo NNWSE: dovresti quindi generare la stringa stuck.
Casi test
N => N
NW => WN
NWS => SWN
SNW => SWN
SSSSS => SSSSS
ENNNNES => NNNNEES
NS => stuck
NNWSE => stuck
stuck.
NSbloccato? Perché entrambi NSe SNsarebbe una soluzione?