Deskripsi tugas:
Gambar kubus dalam seni ASCII dalam proyeksi kabinet secara kasar.
Monospaced fonts
sering memiliki karakter yang sekitar dua kali lebih tinggi dari lebar. Karena input adalah panjang garis vertikal (tidak termasuk sudut), garis horizontal digambar dengan karakter dua kali lebih banyak sehingga gambar yang dihasilkan benar-benar kira-kira kubus. Garis surut ditarik setengah panjang seperti yang diamanatkan oleh proyeksi kabinet.
Sudut kubus diwakili oleh +
, garis horizontal oleh -
, garis vertikal oleh |
dan yang diagonal digunakan /
.
Meringkas: Biarkan input menjadi n , lalu
- Tepi horizontal kubus digambar dengan
-
dan terdiri dari 2 n karakter. - Tepi vertikal kubus digambar dengan
|
dan terdiri dari n karakter. - Tepi diagonal kubus digambar dengan
/
dan terdiri dari n / 2 karakter. - Sudut kubus digambar dengan
+
. Sudut tidak dihitung untuk panjang tepi seperti yang dijelaskan di atas (lihat contoh di bawah ini juga).
Memasukkan:
Input, diberikan pada input standar, adalah bilangan positif tunggal, genap n (2 ≤ n ≤ 30) yang memberikan panjang garis vertikal kubus. Diikuti oleh satu baris break.
Keluaran:
Outputnya adalah kubus pada output standar mengikuti aturan di atas. Trailing whitespace pada garis diabaikan.
Masukan sampel 1:
2
Output sampel 1:
+----+
/ /|
+----+ |
| | +
| |/
+----+
Masukan sampel 2:
4
Output sampel 2:
+--------+
/ /|
/ / |
+--------+ |
| | |
| | +
| | /
| |/
+--------+
ETA: Saya sekarang menerima solusi terpendek. Saya akan memperbarui jawaban yang diterima ketika jawaban yang lebih pendek muncul.
Karena beberapa orang bertanya berapa lama entri dari para kontestan kami adalah:
227 - Python
240 - Perl
310 - C
315 - C
326 - VB.NET
459 - C
Serta solusi kami sendiri (tidak diberi peringkat dengan yang lain):
140 - Golfscript
172 - Ruby
183 - PowerShell