Aşağıdaki diyagramları dikey çapraz kesişen tüpler kümesi olarak düşünün.
1 2 1 2 1 2 3 4
\ / \ / \ / \ /
X | | |
/ \ / \ / \ / \
2 1 1 2 | X |
\ / \ /
X X
/ \ / \
3 1 4 2
En soldaki diyagramda, 1
ve 2
kendi eğik çizgilerini aşağı doğru kaydırın, çaprazlayın X
ve başladıkları yerden karşı taraflardan çıkın.
Orta şemada aynı fikirdir, ancak |
yolların kesişmediğini gösterir, bu nedenle hiçbir şey değişmez.
En sağdaki diyagramı gösterir daha karmaşık bir boru olduğu değiştiren permütasyon kodunun değiştirilmesini yönlendirme 1 2 3 4
içine 3 1 4 2
.
Hedef
Amacınız bu kod golf meydan okumak gibi bu "tüp yönlendirme diyagramları" gibi bir permütasyon verilen 3 1 4 2
. Bayt cinsinden en kısa program kazanacaktır.
ayrıntılar
- Girdi stdin'den, 1'den n'ye kadar olan sayıların boşluklarla ayrılmış sayılarının permütasyonu olarak gelir , burada n pozitif bir tamsayıdır. Tüm girdilerin iyi oluşturulduğunu varsayabilirsiniz.
Yönlendirme diyagramı çıktısı stdout'a gider.
- 1'den n'ye kadar olan sayıları "düşürme" şemanın üstüne giriş permütasyonunun alttan çıkmasına neden olmalıdır. (Üst ve alt daima eğik çizgi katmanlarıdır.)
- Diyagramın optimal olarak küçük olması gerekmez. Doğru olduğu sürece gerektiği kadar seviye olabilir.
- Diyagram yalnızca karakterleri içermelidir
\/ X|
yanı sıra yeni satırları da (sayı yok). |
her zaman en dış kavşaklarda kullanılmalıdır, çünkü kullanımıX
mantıklı değildir.- Diyagramın tamamı doğru bir şekilde sıralandığı sürece birkaç ön veya arka boşluk iyi olur.
Örnekler
Üretebilecek bir girdi 3 1 4 2
(yukarıdaki ile aynı)
\ / \ /
| |
/ \ / \
| X |
\ / \ /
X X
/ \ / \
Bir giriş 1
kudreti üretmek
\
|
/
|
\
|
/
Bir giriş 3 2 1
kudreti üretmek
\ / \
X |
/ \ /
| X
\ / \
X |
/ \ /
Bir giriş 2 1 3 4 6 5
kudreti üretmek
\ / \ / \ /
X | X
/ \ / \ / \
X
bağlantı bir |
yolla doğrudan bağlanabilir /
mi? Bir başkasına X
?
row of slashes
, row of X's and |'s
, row of slashes
, row of X's and |'s
, ... biçiminde.
n
10'dan büyük olabilir mi?