Tuyên bố miễn trừ trách nhiệm: Câu chuyện được kể trong câu hỏi này hoàn toàn hư cấu và được phát minh chỉ nhằm mục đích cung cấp phần giới thiệu.
Tôi là một nông dân độc ác và để tăng giá lúa mì trong khu vực của mình, tôi đã quyết định đốt cháy những cánh đồng của tất cả những người nông dân xung quanh tôi. Tôi thực sự muốn thấy những cánh đồng bốc cháy (vì vậy tôi có thể sử dụng tiếng cười xấu xa của mình và xoa tay với nhau), nhưng tôi cũng không muốn bị bắt gặp, vì vậy tôi cần bạn mô phỏng cánh đồng thiêu hủy cho tôi.
Nhiệm vụ của bạn:
Viết chương trình hoặc hàm lấy đầu vào của một trường và trả về các giai đoạn của nó đang cháy cho đến khi toàn bộ trường bị tro. Một phần cụ thể của trường đang cháy được biểu thị bằng một số nguyên biểu thị cường độ của ngọn lửa. Một đám cháy bắt đầu từ "1" và chuyển sang "2" và sau đó là "3", v.v. Khi đám cháy đạt đến "4", nó sẽ bắt được bất kỳ khu vực lân cận nào (không theo đường chéo) dễ cháy trên lửa. Khi nó đạt đến "8", nó sẽ cháy ở lần lặp tiếp theo và biến thành tro, được biểu thị bằng chữ "A". Khi một khu vực chưa được chạm vào lửa, nó được biểu thị bằng "0". Ví dụ: nếu trường trông như thế này:
100
000
Chương trình của bạn sẽ xuất ra điều này:
100
000
200
000
300
000
410
100
520
200
630
300
741
410
852
520
A63
630
A74
741
A85
852
AA6
A63
AA7
A74
AA8
A85
AAA
AA6
AAA
AA7
AAA
AA8
AAA
AAA
Nếu bạn muốn, bạn có thể thay thế các biểu tượng trên bằng bất kỳ biểu tượng nào bạn chọn, miễn là chúng nhất quán và khác biệt với nhau.
Đầu vào:
Vị trí bắt đầu của trường, dưới bất kỳ hình thức tiêu chuẩn nào, chẳng hạn như một chuỗi được phân định mới như trên.
Đầu ra:
Trường trong mỗi lần lặp khi nó ghi, dưới dạng một mảng hoặc dưới dạng một chuỗi được giới hạn bởi một số ký tự.
Các trường hợp thử nghiệm:
0301
000A
555
|
v
0301
000A
555
1412
010A
666
2523
020A
777
3634
030A
888
4745
141A
AAA
5856
252A
AAA
6A67
363A
AAA
7A78
474A
AAA
8A8A
585A
AAA
AAAA
6A6A
AAA
AAAA
7A7A
AAA
AAAA
8A8A
AAA
AAAA
AAAA
AAA
Ghi điểm:
Đây là môn đánh gôn , điểm số thấp nhất tính bằng byte!