Biểu đồ thân và lá hiển thị một loạt các giá trị số theo nhóm, được xác định bởi tất cả trừ chữ số cuối cùng. Ví dụ: giả sử chúng ta có bộ dữ liệu này:
0, 2, 12, 13, 13, 15, 16, 20, 29, 43, 49, 101
Chúng tôi có thể sản xuất lô thân và lá này:
0|02
1|23356
2|09
3|
4|39
5|
6|
7|
8|
9|
10|1
Thân của hàng đầu tiên là 0, do đó, "lá" của nó - các chữ số sau |
- đại diện cho các giá trị từ 0 bao gồm và 10 độc quyền. Các lá trên mỗi thân được sắp xếp. Thân cây không có lá (như 3) vẫn xuất hiện trong cốt truyện. Giá trị của 101 là từ 100 bao gồm và 110 độc quyền, vì vậy thân của nó là 10 (100 chia cho 10).
Thách thức của bạn là kiểm tra xem một đoạn văn bản có phải là một thân cây và lá hợp lệ hay không. Một âm mưu hợp lệ thỏa mãn các quy tắc này:
- Có chính xác một hàng cho mỗi thân cây (tức là nhóm rộng 10) trong phạm vi dữ liệu (bao gồm cả các thân ở giữa phạm vi không có lá)
- Không có thân cây ngoài phạm vi
- Tất cả các lá được sắp xếp tăng dần về bên phải
- Tất cả các thân cây được sắp xếp tăng dần xuống
- Chỉ có các ký tự số (ngoài dấu phân cách
|
)
Bạn không phải đối phó với những con số có các phần phân số. Bạn có thể phê duyệt hoặc từ chối các số 0 đứng đầu trong các thân cây, nhưng một thân trống không được phép. Sẽ có ít nhất một giá trị. Bạn chỉ có thể giả sử thêm khoảng trắng sau các lá trên mỗi hàng. Bạn có thể giả định một dòng mới hàng đầu và / hoặc dấu. Tất cả các ký tự sẽ được in ASCII.
Hàm hoặc chương trình của bạn sẽ trả về hoặc xuất ra (để sàng lọc hoặc đầu ra tiêu chuẩn) một giá trị trung thực cho một âm mưu hợp lệ hoặc một giá trị giả cho một âm mưu không hợp lệ. Bạn có thể lấy đầu vào từ đầu vào tiêu chuẩn, từ một tệp, dưới dạng một chuỗi lớn, dưới dạng một chuỗi các chuỗi - bất cứ điều gì thuận tiện nhất.
Dưới đây là một số trường hợp thử nghiệm là các ô hợp lệ (được phân tách bằng các dòng trống):
2|00003457
3|35
4|799
5|3
99|3
100|0556
101|
102|
103|8
0|0
Dưới đây là một số trường hợp thử nghiệm là các ô không hợp lệ, với chú thích ở bên phải:
|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
Đây là mã golf, vì vậy mã ngắn nhất sẽ thắng! Sơ hở tiêu chuẩn là không được phép.
4|;5|26;6|7
thân đầu tiên nằm ngoài phạm vi, nhưng thay vào đó, ở cuối, tức là 12|3;13|4559;14|
.
1|2|3
trong đó.