Thử thách
Bạn sẽ được cung cấp một số nguyên dương n
làm đầu vào. Đầu ra phải là một hố cát giống như kim tự tháp được xây dựng theo các quy tắc được chỉ định dưới đây:
- Mỗi số nguyên "rơi" xuống từ cùng một điểm bắt đầu ban đầu, giống như cát rơi vào hình nón.
- Các số lớn hơn số trực tiếp bên dưới nó khi nó chạm vào hố cát sẽ rơi sang bên phải, nếu có thể.
- Các số nhỏ hơn số trực tiếp bên dưới nó khi nó chạm vào hố cát sẽ rơi sang bên trái, nếu có thể.
- Các số bằng với số trực tiếp bên dưới nó khi nó chạm vào hố cát sẽ giữ nguyên vị trí.
- Các con số có thể rơi sang trái / phải nếu chúng có thể di chuyển xuống và sang trái / phải tương ứng. Đó là, nếu đã có một số bên dưới và bên trái / bên phải, tùy thuộc vào hướng, số hiện đang giảm không di chuyển.
- Một con số sẽ tiếp tục rơi xuống hố cát cho đến khi nó không thể di chuyển sang vị trí tiếp theo hoặc chạm sàn.
Ghi chú
Kiểm tra so sánh ban đầu chỉ áp dụng cho số nguyên gặp phải đầu tiên, không áp dụng cho mỗi lần gặp gỡ liên tiếp khi nó rơi xuống hố cát.
Không gian lưu trữ là được nhưng dòng mới thì không.
Không có không gian hàng đầu hoặc đường mới trừ khi cần thiết để bảo tồn cấu trúc của hố cát.
Bạn có thể viết một chương trình hoặc chức năng đầy đủ.
Bạn có thể cho rằng đầu vào sẽ chỉ chứa một số kết hợp [0-9]
.
Đây là môn đánh gôn , mã ngắn nhất tính theo byte sẽ được đánh dấu là người chiến thắng bởi Ides of March
Ví dụ
1
1
12345
35
124
54321
13
245
555444333222111
2
2
2
135
1345
13445
111222333444555
4
4
4
135
1235
12235
7313623030872935273465247457435345345350
3
3
3
3
34
355
3644
239475
201277445
020373685575
555444333222111
Đó có phải là một sai lầm mà người thứ ba4
sẽ rơi sang người đầu tiên4
?