Bayangkan diagram berikut ini sebagai kumpulan tabung silang vertikal.
1 2 1 2 1 2 3 4
\ / \ / \ / \ /
X | | |
/ \ / \ / \ / \
2 1 1 2 | X |
\ / \ /
X X
/ \ / \
3 1 4 2
Di diagram paling kiri, 1
dan 2
geser ke bawah garis miring masing-masing, silangkan di X
, dan keluar di sisi yang berlawanan dari tempat mereka mulai.
Itu ide yang sama di diagram tengah, tetapi |
menandakan bahwa jalur tidak bersilangan, jadi tidak ada yang berubah.
Diagram menunjukkan paling kanan tabung yang lebih kompleks routing yang yang permutes 1 2 3 4
menjadi 3 1 4 2
.
Tujuan
Tujuan Anda dalam tantangan golf kode ini adalah untuk menggambar "diagram rute tabung" ini dengan permutasi seperti 3 1 4 2
. Program terpendek dalam byte akan menang.
Detail
- Input berasal dari stdin karena permutasi angka dari 1 hingga n dipisahkan oleh spasi, di mana n adalah bilangan bulat positif. Anda dapat mengasumsikan semua input terbentuk dengan baik.
Output diagram perutean menuju ke stdout.
- "Menjatuhkan" angka 1 hingga n agar ke atas diagram akan menghasilkan permutasi input yang keluar di bagian bawah. (Atas dan bawah selalu merupakan lapisan garis miring.)
- Diagram tidak perlu kecil secara optimal. Mungkin level sebanyak yang diperlukan selama itu benar.
- Diagram hanya boleh berisi karakter
\/ X|
dan juga baris baru (tidak ada angka). |
harus selalu digunakan pada persimpangan terluar karena menggunakanX
tidak masuk akal.- Beberapa ruang awal atau akhir tidak apa-apa asalkan diagramnya disusun dengan benar.
Contohnya
Input dari 3 1 4 2
mungkin menghasilkan (sama seperti di atas)
\ / \ /
| |
/ \ / \
| X |
\ / \ /
X X
/ \ / \
Input dari 1
mungkin menghasilkan
\
|
/
|
\
|
/
Input dari 3 2 1
mungkin menghasilkan
\ / \
X |
/ \ /
| X
\ / \
X |
/ \ /
Input dari 2 1 3 4 6 5
mungkin menghasilkan
\ / \ / \ /
X | X
/ \ / \ / \
X
terhubung langsung dengan |
cara yang /
dilakukannya? Ke yang lain X
?
row of slashes
, row of X's and |'s
, row of slashes
, row of X's and |'s
, ... Format.
n
lebih besar dari 10?