Alphys นักวิทยาศาสตร์ระดับสูงของ Underground ได้สร้างต้นแบบสำหรับปริศนาตัวใหม่เสร็จแล้ว อย่างไรก็ตามเธอดูเหมือนจะไม่พบใครที่ต้องการทดสอบ
กฎของตัวต่อมีดังนี้:
เป้าหมายคือการไปทางด้านขวาเริ่มต้นจากแผ่นกระเบื้องศูนย์กลางด้านซ้าย สำหรับปริศนาที่มีตัวเลขสูงให้เริ่มที่ด้านล่างของแผ่นกลางสองแผ่น (ตัวอย่าง: ในอาร์เรย์ 4x4 ที่ทำดัชนีเป็นศูนย์ตำแหน่งเริ่มต้นจะเป็น [2,0] - แถว 2, คอลัมน์ 0 ในอาร์เรย์ 5x5 ที่มีดัชนีเป็นศูนย์ตำแหน่งเริ่มต้นจะเป็น [2,0] - แถว 2, คอลัมน์ 0. )
กระเบื้องแต่ละสีมีฟังก์ชัน "ซาดิสต์" ของตัวเอง:
- กระเบื้องสีชมพูและสีเขียว (แสดงเป็น "P" และ "G") ไม่ทำอะไรเลย
- กระเบื้องสีแดงและสีเหลือง ("R", "Y") ไม่สามารถใช้ได้
- กระเบื้องส้ม ("O") ทำให้ผู้เล่นมีกลิ่นเหมือนส้ม
- กระเบื้องสีม่วง ("U") บังคับให้ผู้เล่นไปยังแผ่นถัดไปในทิศทางที่พวกเขากำลังเผชิญอยู่และทำให้พวกเขามีกลิ่นเหมือนมะนาว
- กระเบื้องสีฟ้า ( "B") เป็นพอตราบใดที่ผู้เล่นจะไม่ได้กลิ่นเหมือนส้ม
เพื่ออธิบายให้ชัดเจนเกี่ยวกับกลไกกลิ่นรสกลิ่นของผู้เล่นจะคงอยู่ไม่สิ้นสุดหรือจนกว่าจะถูกแทนที่ด้วยกระเบื้องที่มีกลิ่นต่างกันนั่นคือถ้าผู้เล่นเหยียบกระเบื้องสีส้มพวกเขาจะได้กลิ่นเหมือนส้มจนกว่าพวกเขาจะเหยียบกระเบื้องสีม่วง
นอกจากนี้การเรียงต่อกันของกระเบื้องสีเหลืองที่วางในแนวตั้งหรือแนวนอนกับกระเบื้องสีน้ำเงินจะทำให้กระเบื้องสีน้ำเงินไม่สามารถใช้ได้เช่นกัน
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับอาร์เรย์อักขระสองมิติ (หรือสตริงสตริง 1D หรือรูปแบบที่ถูกต้องอื่น ๆ ) ที่แสดงถึงเค้าโครงของปริศนาเป็นอินพุตและเอาต์พุตทั้งปริศนาต้นฉบับและปริศนาที่แก้ไขด้วยเครื่องหมายดอกจันหรือบางส่วน ตัวละครอื่น ๆ แสดงเส้นทางที่ถูกต้อง สมมติว่าปริศนาที่ให้นั้นสามารถแก้ไขได้
ใช้ตัวต่อนี้เป็นตัวอย่าง:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
โปรแกรมของคุณจะแสดงผล:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
BGYBG
PGPBG
*****
OUGYB
PPOPP
ปริศนาใด ๆ ที่ใช้ต้องได้รับการสร้างขึ้นโดยใช้นี้
บังคับใช้กฎกอล์ฟมาตรฐาน คำตอบที่ดีที่สุดจะสั้นที่สุดสำหรับแต่ละภาษา รู้รอบต้องประกอบด้วยภาษาจำนวนไบต์และกรณีทดสอบสามกรณี สองรูปแรกสามารถเป็นเลย์เอาต์ที่คุณเลือกได้
RRRR
RPPR
PUOR
RPBP