Hãy tưởng tượng các sơ đồ sau đây là các bộ ống chéo chéo dọc.
1 2 1 2 1 2 3 4
\ / \ / \ / \ /
X | | |
/ \ / \ / \ / \
2 1 1 2 | X |
\ / \ /
X X
/ \ / \
3 1 4 2
Trong sơ đồ ngoài cùng bên trái, 1và 2trượt xuống các dấu gạch chéo tương ứng của chúng, giao nhau tại Xvà đi ra ở phía đối diện từ nơi chúng bắt đầu.
Đó là ý tưởng tương tự trong sơ đồ giữa, nhưng |biểu thị rằng các đường dẫn không giao nhau, vì vậy không có gì thay đổi.
Biểu đồ ngoài cùng bên phải cho thấy một định tuyến ống phức tạp hơn mà thấm 1 2 3 4vào 3 1 4 2.
Mục tiêu
Mục tiêu của bạn trong thử thách chơi gôn mã này là vẽ ra các "sơ đồ định tuyến ống" cho một hoán vị như 3 1 4 2. Chương trình ngắn nhất tính bằng byte sẽ giành chiến thắng.
Chi tiết
- Đầu vào đến từ stdin vì mọi hoán vị của các số từ 1 đến n cách nhau bởi khoảng trắng, trong đó n là số nguyên dương. Bạn có thể cho rằng tất cả các đầu vào được hình thành tốt.
Đầu ra sơ đồ định tuyến đi đến thiết bị xuất chuẩn.
- "Thả" các số từ 1 đến n theo thứ tự vào đầu sơ đồ sẽ dẫn đến hoán vị đầu vào xuất hiện ở phía dưới. (Trên và dưới luôn là các lớp gạch chéo.)
- Sơ đồ không cần phải tối ưu nhỏ. Nó có thể là nhiều cấp độ cần thiết miễn là nó chính xác.
- Sơ đồ chỉ nên chứa các ký tự
\/ X|cũng như dòng mới (không có số). |nên luôn luôn được sử dụng trên các giao lộ ngoài cùng vì việc sử dụngXsẽ không có ý nghĩa.- Một vài khoảng trắng ở đầu hoặc cuối là tốt miễn là tất cả các sơ đồ được xếp chính xác.
Ví dụ
Một đầu vào 3 1 4 2có thể tạo ra (giống như trên)
\ / \ /
| |
/ \ / \
| X |
\ / \ /
X X
/ \ / \
Một đầu vào 1có thể sản xuất
\
|
/
|
\
|
/
Một đầu vào 3 2 1có thể sản xuất
\ / \
X |
/ \ /
| X
\ / \
X |
/ \ /
Một đầu vào 2 1 3 4 6 5có thể sản xuất
\ / \ / \ /
X | X
/ \ / \ / \
Xkết nối có thể trực tiếp đến một |cách /không? Để người khác X?
row of slashes, row of X's and |'s, row of slashes, row of X's and |'sđịnh dạng, ....
nthể lớn hơn 10?
