Một loạt các xe được xếp hàng tại biển báo dừng 4 chiều đang chờ để tiếp tục. Mọi người đều bối rối về việc ai sẽ đi tiếp, ai sẽ đi theo con đường nào, v.v ... Rõ ràng là không tối ưu.
Công việc của bạn là lên lịch giao thông tại biển báo dừng theo cách tối ưu.
Bạn nhận được 4 chuỗi yêu cầu đầu vào, một chuỗi cho mỗi trong bốn hướng chính. Mỗi yêu cầu là Lcho trái, Scho thẳng hoặc Rcho phải.
LLSLRLS
SSSRRSRLLR
LLRLSR
RRRLLLL
Hàng đầu tiên là đội hình ở lối vào phía Bắc đến ngã tư. Chiếc xe đầu tiên trong dòng muốn rẽ trái (nghĩa là thoát khỏi hướng Đông). Các hàng tiếp theo dành cho lối vào Đông, Nam và Tây sắp tới. Vì vậy, chiếc xe đầu tiên đến từ phương Tây muốn thoát khỏi miền Nam.
Giao thông di chuyển trong một loạt các bước. Ở mỗi bước, bạn phải chọn một tập hợp con của những chiếc xe ở đầu dòng của chúng để tiến hành. Những chiếc xe được chọn không được can thiệp lẫn nhau. Hai chiếc xe can thiệp nếu chúng thoát cùng hướng hoặc nếu chúng phải băng qua đường của nhau (đưa ra quy tắc lái xe bên phải tiêu chuẩn). Vì vậy, hai chiếc xe đối diện cả hai muốn đi thẳng có thể đi cùng một bước. Vì vậy, có thể tất cả 4 chiếc xe muốn rẽ phải. Hai chiếc xe đối diện có thể rẽ trái cùng một lúc.
Công việc của bạn là lên lịch cho giao lộ trong một loạt các bước tối thiểu. Đối với mỗi bước, hãy xuất một dòng có (các) hướng la bàn của ô tô đến được liệt kê. Đối với ví dụ trên, lịch trình tối thiểu là 14 bước. Một lịch trình tối thiểu là:
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]
Chương trình của bạn sẽ có thể xử lý 50 chiếc xe trong mỗi dòng trong vòng dưới 1 phút. Đầu vào của 4 chuỗi và đầu ra của lịch biểu có thể theo bất kỳ cách thuận tiện nào cho ngôn ngữ của bạn.
Chương trình ngắn nhất sẽ thắng.
Một ví dụ lớn hơn:
RRLLSSRLSLLSSLRSLR
RLSLRLSLSSRLRLRRLLSSRLR
RLSLRLRRLSSLSLLRLSSL
LLLRRRSSRSLRSSSSLLRRRR
trong đó yêu cầu tối thiểu 38 vòng. Một giải pháp khả thi:
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