Bir kök ve yaprak grafiği , son basamak dışındaki herkes tarafından belirlenen gruplar halinde bir dizi sayısal değer görüntüler. Örneğin, şu veri kümesine sahip olduğumuzu varsayalım:
0, 2, 12, 13, 13, 15, 16, 20, 29, 43, 49, 101
Bu sap ve yaprak grafiğini üretebiliriz:
0|02
1|23356
2|09
3|
4|39
5|
6|
7|
8|
9|
10|1
İlk satırın gövdesi 0'dır, bu nedenle "yaprakları" - sonraki basamaklar |
- 0 (dahil) ile 10 (hariç) arasındaki değerleri temsil eder. Her gövdedeki yapraklar sıralanır. Yaprakları olmayan saplar (3 gibi) hala arsada görünür. 101 değeri 100 dahil ve 110 arasındadır, bu yüzden gövdesi 10'dur (100 bölü 10'dur).
Zorluğunuz , bir metnin geçerli bir kök ve yaprak grafiği olup olmadığını kontrol etmektir. Geçerli bir çizim bu kuralları karşılar:
- Veri aralığındaki her gövde (yani 10 genişlikli grup) için tam olarak bir satır vardır (aralığın ortasında yapraksız gövdeler dahil)
- Aralığın dışında sapları yok
- Tüm yapraklar sağa doğru artan şekilde sıralanır
- Tüm saplar aşağı doğru artan şekilde sıralanır
- Yalnızca sayısal karakterler var (ayırıcı dışında
|
)
Kesirli kısımları olan sayılarla uğraşmak zorunda değilsiniz. Saplarda fazladan önde gelen sıfırları onaylayabilir veya reddedebilirsiniz, ancak boş bir gövdeye izin verilmez. En az bir değer olacaktır. Yalnızca her sıradaki yapraklardan sonra fazladan boşluk kabul edebilirsiniz. Öncü ve / veya sondaki bir yeni satırı varsayabilirsiniz. Tüm karakterler yazdırılabilir ASCII olacaktır.
İşleviniz veya programınız geçerli bir grafik için gerçek bir değer veya geçersiz bir grafik için gerçek bir değer döndürmeli veya çıktı vermelidir (ekrana veya standart çıktıya). Standart girdiden, bir dosyadan, tek bir büyük dize, bir dizi dizisi olarak giriş yapabilirsiniz - en uygun olanı.
Geçerli araziler (boş satırlarla ayrılmış) olan bazı test örnekleri şunlardır:
2|00003457
3|35
4|799
5|3
99|3
100|0556
101|
102|
103|8
0|0
Aşağıda , sağda yorum bulunan, geçersiz grafikler olan bazı test örnekleri verilmiştir:
|0 Blank stem
5|347 Missing a stem (6) in the range
7|9
4| Has a stem (4) outside the range
5|26
6|7
11|432 Leaves aren't sorted correctly
12|9989
5|357 Stems aren't sorted correctly
4|002
6|1
4|5 Duplicate stem
4|6
4|6
5|1
51114 No stem and leaf separator
609
1|2|03 Multiple separators
2|779|
4|8abcdefg9 Invalid characters
5|1,2,3
75 | 4 6 Invalid characters (spaces)
76 | 2 8 8 9
Bu kod golf, bu yüzden en kısa kod kazanır! Standart boşluklara izin verilmez.
4|;5|26;6|7
, aralığın dışında ilk gövdeye sahip olana benzer , ancak sonunda, yani 12|3;13|4559;14|
.
1|2|3
İçinde bir çizgi olan geçersiz bir test örneği eklerdim .