ในความท้าทายนี้ฉันมีสนามอะโวคาโดที่ฉันอยากจะคั้นเร็วและสมบูรณ์ที่สุดเท่าที่จะทำได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเพื่อช่วยฉันหาวิธีที่จะทำให้อะโวคาโดทั้งหมดได้อย่างสมบูรณ์หรือไม่?
ในฐานะที่เป็นข้อมูลเข้าคุณจะได้รับอะโวคาโดเป็นตารางสี่เหลี่ยมmx mซึ่งmเป็นจำนวนเต็มระหว่าง 3 ถึง 6 แต่ละตารางประกอบด้วยอะโวคาโดหนึ่งอัน อะโวคาโดมีความฉ่ำหลายขั้นตอน:
ขั้นตอนที่ 1:อะโวคาโดยังไม่ได้ดื่มเลย
ด่าน 2:อะโวคาโดถูกน้ำท่วมบางส่วน
ขั้นตอนที่ 3:อะโวคาโดได้รับผลกระทบอย่างสมบูรณ์
ขั้นตอนที่ 4:อะโวคาโดระเบิดเนื่องจากน้ำผลไม้มากเกินไป
เมื่อคุณใช้เครื่องมือคั้นน้ำอะโวคาโดในพื้นที่ของเครื่องมือทำให้เกิดการเคลื่อนย้ายไปยังขั้นต่อไป อะโวคาโดการระเบิดมีพลังมากมายและจะทำลายฟิลด์อะโวคาโดทั้งหมดดังนั้นอย่าให้อะโวคาโดระเบิด!
นี่คือตัวอย่างของตารางอะโวคาโด ในตัวอย่างเหล่านี้ฉันใช้พิกัด0,0สำหรับมุมล่างซ้ายและพิกัด2,2สำหรับมุมบนขวาแม้ว่าคุณสามารถปรับระบบพิกัดให้เหมาะกับภาษาของคุณ
112
221
231
เป้าหมายคือเพื่อให้อะโวคาโดทุกคนมีน้ำผลไม้ที่สมบูรณ์แบบ (เช่นขั้นตอนที่ 3) เพื่อให้บรรลุเป้าหมายนี้คุณมีเครื่องมือคั้นน้ำสามแบบที่คุณมีอยู่ เครื่องมือคั้นน้ำแต่ละเครื่องมีพื้นที่ของเอฟเฟกต์ที่แตกต่างกัน แต่พวกมันทั้งหมดเพิ่มความชุ่มชื่นของอะโวคาโดที่ได้รับผลกระทบโดย 1
นี่คือเครื่องมือทั้งหมดที่คุณมีในการกำจัดของคุณ คุณใช้เครื่องคั้นน้ำโดยระบุอักษรตัวแรกของเครื่องมือจากนั้นพิกัดที่คุณต้องการคั้น ยกตัวอย่างเช่นการใช้เครื่องตัดบนตารางคุณจะเอาท์พุท5,2S 5,2
ตัวแบ่งส่วนข้อมูล : ทำนายการประสานงานเป้าหมายและอะโวคาโดทั้งสองด้าน
112 112 112
221 --> XXX --> 332
231 231 231
กระต่ายขูด : น้ำผลไม้ประสานงานเป้าหมายและอะโวคาโดด้านบนและด้านล่าง
112 1X2 122
221 --> 2X1 --> 231 --> kaboom!
231 2X1 241
Rocket Launcher : ยิงเป้าหมายพิกัดและอะโวคาโดที่อยู่ติดกันทั้งหมด
112 1X2 122
221 --> XXX --> 332
221 2X1 231
ตัวอย่างอินพุตและเอาต์พุต
323
212
323
G 1,1
S 1,1
3312
3121
1213
2133
R 0,0
R 1,1
R 2,2
R 3,3
22322
22222
22222
33233
33333
G 0,3
G 1,3
G 2,2
G 3,3
G 4,3
222332
333221
222332
333222
222333
333222
S 1,5
S 1,3
S 1,1
S 4,5
S 4,3
S 4,1
G 5,4