การปฏิเสธความรับผิดชอบ: เรื่องราวที่บอกไว้ในคำถามนี้เป็นเรื่องสมมติทั้งหมดและคิดค้นขึ้นเพื่อวัตถุประสงค์ในการให้คำแนะนำ
ฉันเป็นเกษตรกรที่ชั่วร้ายและเพื่อเพิ่มราคาข้าวสาลีในพื้นที่ของฉันฉันตัดสินใจเผาไร่นาของเกษตรกรทั้งหมดที่อยู่รอบตัวฉัน ฉันอยากเห็นทุ่งนาที่ลุกเป็นไฟ (ดังนั้นฉันสามารถใช้เสียงหัวเราะชั่วร้ายของฉันและขยี้มือด้วยความยินดี) แต่ฉันก็ไม่อยากถูกจับได้ดังนั้นฉันต้องการให้คุณจำลองสนาม เผาสำหรับฉัน
งานของคุณ:
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นอินพุตฟิลด์และส่งคืนสเตจของการเบิร์นจนกระทั่งฟิลด์ทั้งหมดเป็นแอช ส่วนที่เฉพาะเจาะจงของสนามที่อยู่ในไฟจะถูกแสดงด้วยจำนวนเต็มแทนความเข้มของเปลวไฟ ไฟเริ่มต้นที่ "1" และย้ายไปที่ "2" จากนั้น "3" และอื่น ๆ เมื่อถึงไฟ "4" มันจะจับโดยตรง (ไม่ใช่แนวทแยงมุม) บริเวณใกล้เคียงที่ติดไฟได้ง่าย เมื่อมันมาถึง "8" มันจะเผาไหม้ในการทำซ้ำครั้งถัดไปและเปลี่ยนเป็นเถ้าซึ่งมีเครื่องหมาย "A" เมื่อพื้นที่ยังไม่ถูกสัมผัสด้วยไฟจะมีเครื่องหมายเป็น "0" ตัวอย่างเช่นถ้าฟิลด์มีลักษณะดังนี้:
100
000
โปรแกรมของคุณควรแสดงผลลัพธ์ดังนี้:
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
หากคุณต้องการคุณสามารถแทนที่สัญลักษณ์ด้านบนด้วยชุดสัญลักษณ์ที่คุณเลือกตราบใดที่มีความสอดคล้องและแตกต่างจากกัน
การป้อนข้อมูล:
ตำแหน่งเริ่มต้นของฟิลด์ในรูปแบบมาตรฐานใด ๆ เช่นสตริงที่มีการกำหนดขอบเขตใหม่ตามด้านบน
เอาท์พุท:
เขตข้อมูลในการวนซ้ำทุกครั้งที่ถูกเผาไหม้ไม่ว่าจะเป็นอาร์เรย์หรือเป็นสตริงที่คั่นด้วยอักขระบางตัว
กรณีทดสอบ:
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
เกณฑ์การให้คะแนน:
นี่คือโค้ดกอล์ฟคะแนนต่ำสุดเป็นไบต์ชนะ!