Giới thiệu
Có một thân cây Apple nằm giữa -2 đến 2 trên trục x, trong đó một số quả táo rơi xuống xung quanh nó:
| |
| |
<-------|---|------->
-2 2
Mỗi ngày, n quả táo rơi xuống. Mỗi quả táo duy trì tọa độ x của nó khi rơi thẳng xuống đất.
Nhưng nếu nó nằm trên một quả táo khác, nó sẽ lăn theo các quy tắc sau cho đến khi nó chạm đất hoặc một lớp táo hỗ trợ:
- Nếu không gian tại x + 1 ở độ cao hiện tại của nó trống thì quả táo hiện tại sẽ ở đó.
- Khác nếu không gian tại x-1 trống, quả táo hiện tại sẽ ở đó.
- Mặt khác, quả táo hiện tại vẫn ở vị trí của nó trên quả táo khác.
Thử thách
Đầu vào sẽ là n vị trí bắt đầu của mỗi quả táo theo thứ tự. Bạn có thể lấy nó dưới dạng một mảng hoặc các số riêng biệt hoặc theo bất kỳ cách hợp lệ nào khác, chỉ cần đảm bảo rằng bạn giải thích nó trong câu trả lời của bạn.
Đầu ra phải là bản vẽ ASCII của thân cây và những quả táo xung quanh. Bạn không cần phải vẽ trục x ở bên trái của quả táo ngoài cùng bên trái và bên phải của quả táo ngoài cùng bên phải, nhưng bạn cần phải vẽ nó ở bất cứ đâu bên dưới quả táo. Bạn cũng có thể mở rộng cây trên quả táo cao nhất.
Bạn có thể giả sử tất cả các tọa độ x nằm trong khoảng từ -100 đến 100, nhưng không nằm trong khoảng từ -2 đến 2.
Đây là code-golf .. Câu trả lời ngắn nhất trong byte thắng!
Ví dụ
Đầu vào: [-3, 5, 5, -4, -4, 5, -3]
Đầu ra:
a| |
aaa| | aaa
---|---|----
Đầu vào: [3, 3, 3, 3, 8, 9]
Đầu ra:
| |a
| |aaa aa
|---|-------
Đầu vào: [-5, -5, -5, -5, -5, -5, -5, -5, -5]
Đầu ra:
a | |
aaa | |
aaaaa| |
-----|---|