कारों का एक गुच्छा आगे बढ़ने की प्रतीक्षा में 4-वे स्टॉप साइन पर पंक्तिबद्ध है। हर कोई इस बात को लेकर असमंजस में है कि आगे कौन जाए, कौन किस रास्ते से जा रहा है, आदि जाहिर तौर पर सबॉप्टीमल।
आपका काम एक इष्टतम फैशन में स्टॉप साइन पर ट्रैफ़िक को शेड्यूल करना है।
आपको चार अनुरोधों में से प्रत्येक के लिए बारी अनुरोधों के इनपुट 4 तार प्राप्त होते हैं। प्रत्येक अनुरोध या तो Lबाएं के लिए है, Sसीधे के लिए है, या Rदाएं के लिए है।
LLSLRLS
SSSRRSRLLR
LLRLSR
RRRLLLL
पहली पंक्ति चौराहे के उत्तर प्रवेश द्वार पर लाइनअप है। लाइन में पहली कार बाईं ओर मुड़ना चाहती है (अर्थात, पूर्व से बाहर निकलें)। बाद की पंक्तियाँ आने वाले पूर्व, दक्षिण और पश्चिम प्रवेश द्वार के लिए हैं। तो पश्चिम से आने वाली पहली कार दक्षिण से बाहर निकलने की इच्छा रखती है।
चरणों की एक श्रृंखला में ट्रैफ़िक चलता है। प्रत्येक चरण पर, आपको आगे बढ़ने के लिए कारों के सबसेट का चयन करना होगा। चुनी गई कारों को एक-दूसरे के साथ हस्तक्षेप नहीं करना चाहिए । यदि वे एक ही दिशा से बाहर निकलते हैं या यदि वे एक-दूसरे के रास्ते को पार करते हैं (मानक दाएं-हाथ ड्राइविंग नियम दिए गए हैं) तो दो कारें हस्तक्षेप करती हैं। तो दो विपरीत कारें जो सीधे जाने की इच्छा रखती हैं, दोनों एक ही कदम पर जा सकती हैं। तो हो सकता है 4 कारें सभी सही मोड़ना चाहें। दो विपरीत कारें दोनों एक साथ बाईं ओर मुड़ सकती हैं।
आपका काम न्यूनतम चरणों की श्रृंखला में चौराहे को शेड्यूल करना है। प्रत्येक चरण के लिए, आने वाली कारों की कम्पास दिशा (ओं) के साथ एक पंक्ति को आउटपुट करें। ऊपर के उदाहरण के लिए, न्यूनतम अनुसूची 14 चरण है। एक न्यूनतम अनुसूची है:
N [L from North]
E [S from East]
E [S from East]
E [S from East]
NESW [L from North, R from East, L from South, R from West]
NE [S from North]
EW [R from East]
NESW [L from North, R from East, L from South, R from West]
W [L from West]
EW [L from East, L from West]
NESW [R from North, L from East, R from South, L from West]
NES [L from North, R from East, L from West]
NS [S from North, S from South]
SW [R from South, L from West]
आपका कार्यक्रम 1 मिनट से कम समय में प्रत्येक पंक्ति में 50 कारों को संभालने में सक्षम होना चाहिए। अनुसूची के 4 तार और आउटपुट का इनपुट आपकी भाषा के लिए किसी भी सुविधाजनक तरीके से हो सकता है।
सबसे छोटा कार्यक्रम जीतता है।
एक बड़ा उदाहरण:
RRLLSSRLSLLSSLRSLR
RLSLRLSLSSRLRLRRLLSSRLR
RLSLRLRRLSSLSLLRLSSL
LLLRRRSSRSLRSSSSLLRRRR
जिसके लिए न्यूनतम 38 राउंड की आवश्यकता होती है। एक संभव समाधान:
E
EW
E
ESW
S
NS
ES
NESW
NSW
ESW
ES
NSW
NS
NS
NW
EW
NSW
NS
EW
NES
EW
NSW
NE
E
NE
EW
E
E
EW
EW
EW
W
ESW
NSW
NSW
NS
NSW
NEW