Bir kasenin hacmini ve içindeki suyun hacmini giriş ve çıkış olarak alan veya içinde su bulunan bir kasenin ASCII temsilini istenen hacimlerde alan bir program veya işlev yazmalısınız.
Bir kase aşağıdaki yapıya sahiptir:
\ /
\___/
Kase en az bir _
karaktere sahiptir. Sayma \
'in ve /
' s da pozitiftir ve simetri nedeniyle eşittir.
Çanağın hacmi, toplam sayısıdır _
ve space
arasındaki karakter \
s ve /
'nin yanı sıra, her çifti için bir \
ve /
. Bu, yukarıdaki kasenin hacmine sahip olduğu anlamına gelir 10
:
\ / => xxxxx x (the last one is for the \/ pair)
\___/ xxx x (the last one is for the \/ pair)
İki farklı kasenin aynı hacme sahip olabileceğini unutmayın. Örneğin, aşağıdaki kaselerin her ikisi de 18 hacme sahiptir:
\ /
\ / \ /
\___/ \_______/
Kaseye biraz su dökebiliriz. Su, ~
kasenin içindeki boşluklar yerine bir karakter dizisi olarak temsil edilir . En alt satırda boşluk bulunmadığından ~
'leri içeremez . Bu, örneğimizin sadece bir şekilde su ile doldurulabileceği anlamına gelir:
\~~~~~/
\___/
Diğer kaseler çeşitli şekillerde doldurulabilir:
\~~~~~/ \ /
\ / \~~~/
\_/ \_/
Bir kasedeki suyun hacmi , karakterlerin altındaki kase sıralarının hacmidir ~
. Yukarıdaki örnekler 4, 6 and 2
sırasıyla su hacimlerine sahiptir.
Giriş
- İki pozitif tamsayı, kasenin hacmi ve su hacmi.
- İki sayının sırasını seçebilirsiniz.
- İki tam sayı, herhangi bir ortak liste formatında (liste, grup, dizi vb.) Veya iki ayrı tamsayı olarak girilebilir.
- Giriş değerleri için en az bir geçerli kase suyu konfigürasyonu garanti edilmektedir.
Çıktı
- Kasenin ve su hacminin girdiyle eşleştiği su içeren bir kasenin ASCII gösterimi.
- Sonucu yazdırmak yerine döndürmeyi seçerseniz, sonuç tek dize (veya dilinizin en yakın alternatifi) olarak döndürülmelidir.
- Sondaki boşluklara izin verilir.
- Gereksiz önde gelen boşluklara izin verilmez.
- Birden fazla doğru yapılandırma varsa, hangisini çıktı alacağınızı seçmekte özgürsünüz, ancak bunlardan yalnızca çıktısını alabilirsiniz.
Örnekler
Her bir girdi tamsayı çiftini bir veya daha fazla olası çıkışı takip eder.
6 2
\~~~/
\_/
10 4
\~~~~~/
\___/
24 8
\ /
\~~~~~~/
\ /
\__/
42 12 //either of the two output is correct
\ /
\ /
\~~~~~~~/
\ /
\ /
\_/
\ /
\~~~~~~~~~~~~~/
\___________/
90 68
\~~~~~~~~~~~~~~~~~~~~~/
\ /
\ /
\ /
\_____________/
102 42
\ /
\ /
\~~~~~~~~~~~~~~~~~/
\ /
\ /
\___________/
Bu kod golf yani en kısa giriş kazanır.