Bir şehir planlama projesinin bir parçası olarak, mimarlardan bir miktar girdi alındığında, şehir silüetini gösterecek bir program veya işlev oluşturma görevini aldınız. Proje sadece başlangıç aşamasındadır, bu yüzden çok kaba bir taslak yeterlidir. En kolay yaklaşım elbette ASCII-sanatındaki ufuk çizgisini çizmektir.
Tüm binalar nehir kıyısında olacak, böylece hepsi aynı hizada olacak. Mimarlar her binanın yüksekliğini girdi olarak verecekler ve kodunuz ufuk çizgisini göstermelidir.
Mimarlardan gelen girdiler bir tam sayı veya yarım tam sayı olacaktır. Sayı bir tamsayıysa, binanın düz bir çatısı olurken, yarım bir tamsayı eğimli bir çatıya neden olur. Sıfır sadece düz zemin olacaktır. Bir binanın duvarları 3 karakter arasında, sıfır ise tek bir karakter genişliğinde olacaktır. Bitişik binalar duvarları paylaşır.
Çıktı ile ilgili detaylar ve açıklamalar için lütfen aşağıdaki örneklere bakınız:
N = 3
___
| |
| |
|___|
N = 3.5
_
/ \
| |
| |
|___|
N = 6
___
| |
| |
| |
| |
| |
|___|
n = 0
_
Örnek giriş: 3 3.5 0 2
_
___ / \
| | | ___
| | | | |
|___|___|_|___|
Örnek giriş: 0 0 2.5 3 0 4 1
___
_ ___ | |
/ \| | | |
| | | | |___
__|___|___|_|___|___|
Louisville ,0 2 1 3.5 0 4 2 4 2 4 6 1 6 0 5 1
___ ___
| | | | ___
_ ___ ___ ___| | | | | |
/ \ | | | | | | | | | | |
___ | | | |___| |___| | | | | | |
| |___| | | | | | | | |___| | | |___
_|___|___|___|_|___|___|___|___|___|___|___|___|_|___|___|
Kullanılan ASCII karakterleri: yeni satır, boşluk ve /\_|
(kod noktaları 10, 32, 47, 92, 95, 124).
Kurallar:
- Tüm sayıları iki ile çarparak sadece tamsayı olarak alan bir program yapmak isteğe bağlıdır. Yani, almak yerine,
3 3.5 2
programınız alabilir6 7 4
. İkinci giriş formatı seçilirse, 6 girişi 3 katlı bir binaya, 7'si ise eğimli çatıları olan 3 katlı bir binaya yol açmalıdır. - Çıktı tam olarak yukarıda açıklandığı gibi olmalıdır, ancak sondaki boşluklar ve yeni satırlar tamamdır.
- Girişin tam formatı isteğe bağlıdır. Dilinde en iyisi ne.
- Sonuç ekranda gösterilmelidir, böylece mimarlar buna bir göz atabilirler.
- Verilen en az bir tamsayı olacağını ve yalnızca geçerli girdi verileceğini varsayabilirsiniz.
Bu codegolf, yani bayttaki en kısa kod kazanıyor.