Belirli noktalara düşecek blokların bir listesi verildiğinde, ortaya çıkan "kulenin" yüksekliğini çıktılayın.
Bu zorluğu açıklamanın en iyi yolu örnek olarak verilebilir. Giriş, n bloğunu temsil eden 2n tamsayıların bir listesi olacaktır . İlk tamsayı bloğun x konumu, 0 dizinli ve ikincisi bloğun ne kadar geniş olduğudur. Örneğin, bir girişi bloğu temsil eder (x koordinatları aşağıda etiketlenmiştir):2 4
####
0123456789
Şimdi, girdinin diyelim 2 4 4 6
. Yani, x = 2'de 4 genişliğinde bir blok ve x = 4'te 6 genişliğinde bir blok:
######
####
A.) Blokların her zaman kulenin en üstünden “düştüğünü” ve b.) Blokların asla “devrilmeyeceğini” (yani her zaman dengeleyeceklerini) unutmayın. Yani, bir girdi
2 4 4 6 12 1
şunları temsil eder:
######
#### #
Son bloğun "yere" düştüğünü unutmayın.
Son çıktınız, her bir x değerinde en büyük değere kadar kulenin maksimum yüksekliği olmalıdır. Bu nedenle, girdi 2 4 4 6 12 1
çıktı ile sonuçlanmalıdır
0011222222001
:
######
#### #
0011222222001
Girdi, boşluk / virgülle ayrılmış dize, bir tamsayı dizisi veya işlev / komut satırı bağımsız değişkenleri olarak verilebilir. Blok konumları (x değerleri) her zaman 0 veya daha büyük tamsayılar olacak, genişlik her zaman 1 veya daha büyük bir tamsayı olacak ve her zaman en az bir blok olacaktır.
Çıktı, sayısal olmayan karakterler (ör. "0, 0, 1, ..."
) İle ayrılmış tek bir dize , tüm basamakları listeleyen tek bir dize (ör.
"001..."
—Yüksek yüksekliğin 9 veya daha az olması garanti edilir) veya bir tamsayı dizisi olarak verilebilir.
Bu kod golf olduğundan , bayt cinsinden en kısa kod kazanacaktır.
Test senaryoları:
In Out
---------------------------------------------------------
2 4 4 6 12 1 0011222222001
0 5 9 1 6 4 2 5 1133333222
0 5 9 1 2 5 6 4 1122223333
0 5 2 5 6 4 9 1 1122223334
20 1 20 1 20 1 00000000000000000003
5 5 000011111
0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 4 123456789999