ท้าทาย:
อินพุต:สามจำนวนเต็ม: ความยาวขอบด้านล่าง; ปริมาณเริ่มต้นของเม็ดทราย ดัชนี
เอาท์พุท:เอาท์พุทสถานะของส่วนด้านล่างของนาฬิกาทรายที่ดัชนีที่กำหนดขึ้นอยู่กับความยาวขอบด้านล่างที่กำหนดและปริมาณของเม็ดทราย
กฏท้าทาย:
- เราจำลองเม็ดทรายที่มีตัวเลข 1-9
- เราใส่จำนวนเม็ดทรายที่เหลืออยู่ในปัจจุบันที่ด้านบนตรงกลางตามด้วยอักขระเดี่ยวที่คุณเลือก (ยกเว้นตัวเลข, ช่องว่างและบรรทัดใหม่; เช่น
-
) บนบรรทัดด้านล่าง - เมื่อนาฬิกาทรายถูกเติมเต็มเราจะเติมมันต่อแถวหนึ่งหลักในแต่ละครั้ง
- เมื่อทรายสามารถไปทางซ้ายหรือทางขวาเราจะไปทางขวาเสมอ (เช่นเดียวกับการปรับสมดุลของเม็ดทรายที่เหลืออยู่เหนือแก้วชั่วโมง)
- เมื่อเราไปถึง 9 มันเต็มแล้วและเราไม่สามารถใส่ทรายอีกต่อไปในสถานที่เฉพาะในนาฬิกาทราย
- จำนวนเม็ดทรายที่เหลือจะถูกจัดเรียงอย่างถูกต้องเสมอ
- เมื่อด้านล่างของนาฬิกาทรายลดลงครึ่งหนึ่งหรือเม็ดทรายเหลือถึง 0 เราจะไปต่อไม่ได้อีกและนี่จะเป็นผลลัพธ์สำหรับดัชนีทั้งหมดที่อยู่นอกเหนือจุดนี้
- อนุญาตทั้งดัชนี 0 หรือดัชนี 1 ดัชนีและโปรดระบุสิ่งที่คุณใช้ในคำตอบของคุณ
- ช่องว่างต่อท้ายและนำหน้าและต่อท้ายเดียวหรือนำขึ้นบรรทัดใหม่เป็นทางเลือก
- คุณได้รับอนุญาตให้ใช้อักขระอื่นแทนศูนย์เพื่อเติมเต็มช่องว่างของส่วนล่างของนาฬิกาทราย (ไม่รวมตัวเลขบรรทัดใหม่หรืออักขระที่คุณใช้เป็นคอ) หากคุณเลือกที่จะแสดง
- ความยาวขอบด้านล่างจะเป็นเลขคี่เสมอ
- ความยาวขอบด้านล่างจะเป็น
>= 3
; และปริมาณของเม็ดทราย>= 0
- หากคุณต้องการให้คุณพิมพ์สถานะทั้งหมดและรวมถึงดัชนีที่กำหนดด้วย
- คุณสามารถสันนิษฐานได้ว่าดัชนี (0 ดัชนี) จะไม่ใหญ่กว่าจำนวนเม็ดทรายทั้งหมด (ดังนั้นเมื่อมีทราย 100 เม็ดดัชนี 100 คือดัชนีป้อนเข้าที่ถูกต้องสูงสุด)
- ดัชนีแรก (0 สำหรับ 0-indexed; 1 สำหรับ 1-indexed) จะส่งออกนาฬิกาทรายที่ว่างเปล่าที่มีปริมาณเม็ดทรายอยู่ด้านบน
ตัวอย่าง:รูปภาพ (หรือ ascii-art) พูดได้มากกว่าหนึ่งพันคำดังนั้นนี่คือตัวอย่าง:
ป้อนความยาวขอบด้านล่าง: 5
จำนวนเม็ดทราย: 100
แทนที่จะเป็นดัชนีปัจจุบันฉันแสดงทุกขั้นตอนที่นี่:
เอาท์พุทสำหรับดัชนีที่เป็นไปได้ทั้งหมดที่มีความยาวขอบด้านล่าง5
และปริมาณของเม็ดทราย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
เพื่อเป็นตัวอย่าง:
inputs: 5,100,1
output:
99
-
0
000
00100
Same example with another valid output format:
99
~
.
...
..1..
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
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
ทำไม20+9+9+9+9+9+9+9+9+9 = 101
?