Berikut adalah seni ASCII dari persimpangan 4 arah:
| | |
| |
| | |
| |
| | |
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
| | |
| |
| | |
| |
| | |
(Perhatikan bagaimana jalan horizontal setinggi 3 baris, sedangkan jalan vertikal selebar 5 kolom. Ini untuk alasan estetika, karena font segi empat.)
Tantangan Anda adalah untuk menghasilkan seni ASCII ini. Namun, karena saya yakin Anda semua tahu, tidak setiap persimpangan memiliki jalan yang melaju ke setiap arah. Persimpangan khusus ini berjalan NESW, tetapi beberapa persimpangan mungkin berjalan, misalnya NW,:
| | |
| |
| | |
| |
| | |
-----+-----+
| |
- - -| |
| |
-----+-----+
Atau mungkin SWE:
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
| | |
| |
| | |
| |
| | |
Atau bahkan mungkin pergi E, hanya satu arah (walaupun Anda tidak bisa menyebutnya persimpangan , tetapi cobalah untuk tidak terlalu bertele-tele):
+-----+-----
| |
| |- - -
| |
+-----+-----
Anda perlu menulis sebuah program atau fungsi yang dapat dengan mudah menghasilkan setiap kombinasi ini. Lebih khusus lagi, tantangan Anda adalah menulis sebuah program atau fungsi yang mengambil serangkaian arah, yang terdiri dari NESW, sebagai input, dan menghasilkan atau mengembalikan seni persimpangan ASCII ini dengan jalan yang menunjuk ke arah itu. Arah ini dapat muncul dalam urutan apapun, tapi input tidak akan berisi karakter apapun kecuali untuk N, E, S, atau W. Jika Anda suka, Anda dapat meminta input berupa huruf kecil saja, tetapi Anda harus menentukan ini dalam jawaban Anda. Anda juga dapat mengasumsikan bahwa semua input akan mengandung setidaknya satu arah.
Contoh terakhir memiliki spasi di setiap baris, karena tidak ada jalan menuju barat. Jika Anda tidak memiliki jalan menuju barat, ruang utama ini adalah opsional. Ini:
+-----+-----
| |
| |- - -
| |
+-----+-----
Juga akan menjadi output yang dapat diterima. Demikian pula, jika Natau Shilang, baris kosong di tempat itu adalah opsional. Satu trailing newline diperbolehkan, dan trailing spasi diizinkan selama output secara visual sama.
Anda dapat mengambil input dan output dalam format yang masuk akal, seperti STDIN / STDOUT, argumen baris perintah, file, argumen fungsi / nilai pengembalian, dll.
Seperti biasa, ini adalah kode-golf , jadi cobalah untuk mendapatkan jawaban sesingkat mungkin dalam bahasa apa pun yang Anda gunakan!
Sampel IO:
NESW:
| | |
| |
| | |
| |
| | |
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
| | |
| |
| | |
| |
| | |
NS:
| | |
| |
| | |
| |
| | |
+-----+
| |
| |
| |
+-----+
| | |
| |
| | |
| |
| | |
S:
+-----+
| |
| |
| |
+-----+
| | |
| |
| | |
| |
| | |
EW:
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
SE:
+-----+-----
| |
| |- - -
| |
+-----+-----
| | |
| |
| | |
| |
| | |

E, misalnya)? Apakah memimpin dan mengikuti garis kosong diperbolehkan jika tidak adaNatauS?