Görev tanımı:
ASCII sanatında kabaca bir kabin çıkıntısında bir küp çizin.
Monospaced fonts
genellikle genişlerinin iki katı kadar yüksek karakterlere sahiptir. Giriş, dikey çizgilerin uzunluğundan (köşeler hariç) olduğundan, yatay çizgiler iki kat fazla karakterle çizilir, böylece elde edilen görüntü kabaca bir küp olur. Geri çekilme çizgileri, bir kabin çıkıntısı tarafından zorunlu kılınan uzunlukta yarıda çizilir.
Küpün köşeleri +
yatay çizgilerle -
, dikey çizgilerle |
ve çapraz çizgilerle gösterilir /
.
Özetleme: Girdi n olsun , sonra
- Küpün yatay bir kenarı ile çizilir
-
ve 2 n karakterden oluşur . - Küpün dikey bir kenarı ile çizilir
|
ve n karakterden oluşur . - Küpün çapraz bir kenarı ile çizilir
/
ve n / 2 karakterden oluşur . - Küpün köşeleri ile çizilir
+
. Köşeler yukarıda detaylandırıldığı gibi bir kenar uzunluğu için sayılmaz (aşağıdaki örneklere de bakınız).
Giriş:
Standart girişte verilen giriş, küpün dikey çizgilerinin uzunluğunu veren tek bir pozitif, n sayısı (2 ≤ n ≤ 30). Bunu tek bir satır sonu izler.
Çıktı:
Çıktı, yukarıdaki kuralları izleyen standart çıktıdaki bir küptür. Çizgilerdeki beyaz boşluk yok sayılıyor.
Örnek giriş 1:
2
Örnek çıktı 1:
+----+
/ /|
+----+ |
| | +
| |/
+----+
Örnek giriş 2:
4
Örnek çıktı 2:
+--------+
/ /|
/ / |
+--------+ |
| | |
| | +
| | /
| |/
+--------+
ETA: Şimdi en kısa çözümü kabul ettim. Kısa bir cevap geldiğinde kabul edilen cevabı güncelleyeceğim.
Bazı insanlar yarışmacılarımızın kayıtlarının ne kadar sürdüğünü sorduğundan:
227 - Python
240 - Perl
310 - C
315 - C
326 - VB.NET
459 - C
Kendi çözümlerimizin yanı sıra (diğerleriyle birlikte sıralanmamıştır):
140 - Golfscript
172 - Yakut
183 - PowerShell