ให้กำหนดเมทริกซ์ที่ไม่ว่างเปล่าไม่ได้แยกและ จำกัด ด้วยจำนวนที่ไม่ซ้ำดังนี้:
ให้นิยามการเคลื่อนที่แบบ 4 เมทริกซ์เป็น:
- ↑ * (ขึ้น): เลื่อนคอลัมน์ขึ้น
- ↓ * (ลง): เลื่อนคอลัมน์ลง
- → * (ขวา): เลื่อนแถวไปทางขวา
- ← * (ซ้าย): เลื่อนแถวไปทางซ้าย
เครื่องหมายดอกจัน (*) หมายถึงคอลัมน์ / แถวที่ได้รับผลกระทบจากการย้าย (สามารถเป็นดัชนี 0 หรือดัชนี 1 ขึ้นอยู่กับคุณโปรดระบุว่าหนึ่งในคำตอบของคุณ)
ความท้าทายคือการใช้การเคลื่อนไหวด้านบนจัดเรียงเมทริกซ์ตามลำดับลัคนา (เป็นมุมซ้ายบนสุดต่ำสุดและล่างขวาล่างสูงสุด)
ตัวอย่าง
การป้อนข้อมูล:
↑0
↓0
(สังเกตว่าการเคลื่อนไหวใด ๆ เหล่านั้นสามารถเรียงลำดับเมทริกซ์ได้ดังนั้นคำตอบทั้งคู่จึงถูกต้อง)
อินพุต:
→0
อินพุต (ตัวอย่างกรณีทดสอบ):
↑0↑1←1↑2
อินพุต:
↑0↑2→0→2↑0→2↑1↑2←1
↑2↑1←3→0←3↓0←0←2→3↑3↑4
หมายเหตุ
- อาจมีเอาต์พุตที่ถูกต้องแตกต่างกัน (ไม่จำเป็นต้องเหมือนกันกับกรณีทดสอบหรือสั้นที่สุด)
- คุณสามารถสมมติว่ามันจะเป็นวิธีการสั่งซื้อเมทริกซ์เสมอ
- ขอบเชื่อมต่อ (เช่น pacman: v)
- จะไม่มีเมทริกซ์ที่มีมากกว่า 9 คอลัมน์หรือ / และแถว
- สมมติว่าเมทริกซ์มีเฉพาะจำนวนเต็มไม่เป็นศูนย์บวก
- คุณสามารถใช้ 4 ค่าที่แตกต่างนอกเหนือจากตัวเลขเพื่อแสดงการเคลื่อนไหว (ในกรณีนั้นโปรดระบุว่าในคำตอบของคุณ)
- คอลัมน์ / แถวสามารถทำดัชนีได้ 0 หรือ 1
- เกณฑ์การชนะรหัส - กอล์ฟ
กรณีทดสอบเพิ่มเติมยินดีต้อนรับเสมอ
←0←0
→0
หากเป็นเช่นนั้นฉันคิดว่าครึ่งหนึ่งของตัวเลือกการย้ายมีแนวโน้มว่าจะไม่ถูกใช้