Thử thách:
Đầu vào: Ba số nguyên: chiều dài cạnh dưới; lượng hạt cát khởi đầu; mục lục
Đầu ra: Xuất trạng thái của phần đáy của đồng hồ cát theo chỉ số đã cho, dựa trên chiều dài cạnh đáy đã cho và lượng hạt cát.
Quy tắc thử thách:
- Chúng tôi mô phỏng các hạt cát với các chữ số 1-9
- Chúng tôi đặt số lượng hạt cát còn lại hiện tại ở trên cùng ở giữa, theo sau là một ký tự bạn chọn (không bao gồm chữ số, khoảng trắng và dòng mới; tức là
-
) trên dòng bên dưới nó - Khi đồng hồ cát đang được lấp đầy, chúng tôi sẽ lấp đầy nó trên mỗi hàng, mỗi lần một chữ số
- Khi cát có thể đi sang trái hoặc phải, chúng ta LUÔN đi bên phải (áp dụng tương tự cho việc cân bằng lượng hạt cát còn lại trên kính giờ)
- Khi chúng tôi đạt đến 9, nó đã lấp đầy và chúng tôi không thể nhét thêm cát vào vị trí cụ thể đó trong đồng hồ cát
- Lượng hạt cát còn lại cũng luôn được căn phải
- Khi nửa dưới của đồng hồ cát được lấp đầy hoàn toàn, hoặc lượng hạt cát còn lại đạt 0, chúng ta không thể tiến xa hơn và đây sẽ là đầu ra cho tất cả các chỉ số ngoài điểm này
- Cả hai chỉ số 0 hoặc 1 chỉ mục đều được cho phép và vui lòng chỉ định những gì bạn đã sử dụng trong câu trả lời của mình.
- Trailing và hàng đầu không gian và một dòng duy nhất hoặc hàng đầu mới là tùy chọn
- Bạn được phép sử dụng bất kỳ ký tự nào khác thay vì số 0 để lấp đầy khoảng trống của phần dưới cùng của đồng hồ cát (không bao gồm chữ số, dòng mới hoặc ký tự bạn đã sử dụng làm cổ), nếu bạn chọn hiển thị chúng.
- Độ dài cạnh dưới sẽ luôn là số lẻ
- Chiều dài cạnh dưới sẽ là
>= 3
; và số lượng hạt cát>= 0
- Nếu bạn muốn, bạn cũng được phép in tất cả các trạng thái lên đến và bao gồm chỉ mục đã cho
- Bạn có thể giả sử chỉ số (chỉ số 0) sẽ không bao giờ lớn hơn tổng số hạt cát (vì vậy khi có 100 hạt cát, chỉ số 100 là chỉ số đầu vào hợp lệ tối đa).
- Chỉ số đầu tiên (0 cho 0 chỉ mục; 1 cho 1 chỉ mục) sẽ tạo ra một đồng hồ cát trống với lượng hạt cát phía trên nó.
Ví dụ: Hình ảnh (hoặc ascii-art) nói hơn một ngàn từ, vì vậy đây là một ví dụ:
Chiều dài cạnh dưới cùng của đầu vào: 5
Lượng hạt cát đầu 100
vào : Thay vì chỉ số hiện tại, tôi hiển thị tất cả các bước ở đây:
Đầu ra cho tất cả các chỉ số có thể có chiều dài cạnh đáy 5
và lượng hạt cát 100
:
100
-
0
000
00000
99
-
0
000
00100
98
-
0
000
00110
97
-
0
000
01110
96
-
0
000
01111
95
-
0
000
11111
94
-
0
000
11211
93
-
0
000
11221
92
-
0
000
12221
91
-
0
000
12222
90
-
0
000
22222
89
-
0
000
22322
88
-
0
000
22332
87
-
0
000
23332
86
-
0
000
23333
85
-
0
000
33333
84
-
0
000
33433
83
-
0
000
33443
82
-
0
000
34443
81
-
0
000
34444
80
-
0
000
44444
79
-
0
000
44544
78
-
0
000
44554
77
-
0
000
45554
76
-
0
000
45555
75
-
0
000
55555
74
-
0
000
55655
73
-
0
000
55665
72
-
0
000
56665
71
-
0
000
56666
70
-
0
000
66666
69
-
0
000
66766
68
-
0
000
66776
67
-
0
000
67776
66
-
0
000
67777
65
-
0
000
77777
64
-
0
000
77877
63
-
0
000
77887
62
-
0
000
78887
61
-
0
000
78888
60
-
0
000
88888
59
-
0
000
88988
58
-
0
000
88998
57
-
0
000
89998
56
-
0
000
89999
55
-
0
000
99999
54
-
0
010
99999
53
-
0
011
99999
52
-
0
111
99999
51
-
0
121
99999
50
-
0
122
99999
49
0
222
99999
48
-
0
232
99999
47
-
0
233
99999
46
-
0
333
99999
45
-
0
343
99999
44
-
0
344
99999
43
-
0
444
99999
42
-
0
454
99999
41
-
0
455
99999
40
-
0
555
99999
39
-
0
565
99999
38
-
0
566
99999
37
-
0
666
99999
36
-
0
676
99999
35
-
0
677
99999
34
-
0
777
99999
33
-
0
787
99999
32
-
0
788
99999
31
-
0
888
99999
30
-
0
898
99999
29
-
0
899
99999
28
-
0
999
99999
27
-
1
999
99999
26
-
2
999
99999
25
-
3
999
99999
24
-
4
999
99999
23
-
5
999
99999
22
-
6
999
99999
21
-
7
999
99999
20
-
8
999
99999
19
-
9
999
99999
Ví dụ:
inputs: 5,100,1
output:
99
-
0
000
00100
Same example with another valid output format:
99
~
.
...
..1..
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
INPUTS: bottom-edge length, amount of grains of sand, index (0-indexed)
inputs: 5,100,1
output:
99
-
0
000
00100
inputs: 5,100,24
output:
76
-
0
000
45555
inputs: 5,100,100
output:
19
-
9
999
99999
inputs: 5,10,15
output:
0
-
0
000
22222
inputs: 3,30,20
output:
10
-
0
677
inputs: 3,3,0
3
-
0
000
inputs: 9,250,100
150
-
0
000
00000
2333332
999999999
inputs: 9,225,220
5
-
4
999
99999
9999999
999999999
inputs: 13,1234567890,250
1234567640
-
0
000
00000
0000000
344444443
99999999999
9999999999999
inputs: 25,25,25
0
-
0
000
00000
0000000
000000000
00000000000
0000000000000
000000000000000
00000000000000000
0000000000000000000
000000000000000000000
00000000000000000000000
1111111111111111111111111
5,100,10000
sao20+9+9+9+9+9+9+9+9+9 = 101
?