เวลาผ่านไปของการเคารพคนเดินเท้าคือการชี้ให้เห็นว่าภาพของ "ลูกบาศก์ของรูบิค" (บนเสื้อยืดโปสเตอร์และอื่น ๆ ) ไม่สามารถแก้ไขได้จริง
สิ่งแรกที่ควรตรวจสอบคือลูกบาศก์นั้นประกอบด้วยชิ้นส่วนที่ถูกต้อง ในการแก้ไขได้ลูกบาศก์จำเป็นต้องมีหกสีแต่ละอันมีเก้าช่องสี่เหลี่ยม คิวบ์ยังต้องการหน่วยขอบและมุมแต่ละอัน (นี่คือคิวบ์ขนาดเล็กที่ประกอบขึ้นเป็นลูกบาศก์) เพื่อให้มีความเป็นเอกลักษณ์ ไม่เพียง แต่จะต้องไม่ซ้ำกัน แต่ถ้าชิ้นกลางสองอันอยู่ตรงข้ามกันไม่มีขอบหรือมุมชิ้นส่วนสามารถมีสีทั้งสอง
เมื่อคุณมีลูกบาศก์ที่สร้างขึ้นจากชิ้นส่วนที่ถูกต้องทั้งหมดคุณยังต้องตรวจสอบว่าสามารถแก้ไขได้ มีกฎอยู่สองสามข้อดังนั้นฉันจะบอกผู้เชี่ยวชาญให้อธิบายเหล่านั้นผู้สปอยเลอร์ด้านล่างอธิบายว่าเราสามารถทำสิ่งนี้ได้อย่างไร หากคุณสนใจที่จะแก้ไขปัญหาด้วยตัวคุณเองคุณไม่จำเป็นต้องไปที่ไซต์เพื่อทำความเข้าใจหรือเข้าร่วมในการท้าทายนี้
งานของคุณคือใช้รูปแบบเป็นอินพุตและพิจารณาว่าจริง ๆ แล้วเป็นลูกบาศก์ของรูบิคที่แก้ไขได้หรือไม่ เพื่อให้สามารถแก้ไขได้ต้องมีวิธีดำเนินการย้ายที่ถูกต้องบนคิวบ์เพื่อให้คิวบ์มีสีเดียวเท่านั้นในแต่ละหน้า (และใบหน้าที่แตกต่างกันมีสีต่างกัน) ลูกบาศก์ของรูบิคส่วนใหญ่มีสีมาตรฐาน (สีขาวตรงข้ามกับสีเหลือง ฯลฯ ) คุณอาจไม่คิดว่าสถานะการแก้ปัญหาจะตามด้วยสีเฉพาะนี้
การเคลื่อนไหวที่ถูกต้องคือการหมุนตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาของลูกบาศก์ใบหน้า ด้วยการหมุนของใบหน้าของลูกบาศก์สี่เหลี่ยมใด ๆ ที่มีพรมแดนติดกับใบหน้าจะถูกหมุนเช่นกันเชื่อมต่อกับใบหน้าที่พวกเขาสัมผัสก่อนหน้านี้
IO
คุณอาจใช้ลูกบาศก์ในลักษณะที่สมเหตุสมผล หากภาษาของคุณมีชนิด "คิวบ์ใบหน้า" ในตัวซึ่งดีสำหรับคุณนั่นก็ดีเหมือนการป้อนข้อมูลและอื่น ๆ ที่ชาญฉลาดคุณสามารถใช้อาร์เรย์ 2 มิติของตาข่ายก้อน 1 1 3 โดย 3 รายการสำหรับแต่ละหน้า เพียงแค่มีเหตุผล หากคุณต้องการทราบว่ารูปแบบที่เฉพาะเจาะจงเป็นความคิดเห็นที่ยอมรับได้หรือ ping ฉันในการแชทและฉันจะเพิ่มความท้าทายเพื่อระบุความถูกต้อง
รูปแบบการป้อนข้อมูลของคุณต้องการการสนับสนุนเฉพาะสีที่เป็นไปได้สูงสุด 9 สีเท่านั้น
สำหรับผลลัพธ์นี่เป็นปัญหาในการตัดสินใจดังนั้นคุณควรส่งออกหนึ่งค่าคงที่สำหรับ "ใช่นี่คือคิวบ์ของรูบิคที่ถูกต้อง" และค่าคงที่ที่แตกต่างกันหนึ่งค่าสำหรับ "ไม่นี่ไม่ใช่ลูกบาศก์รูบิคที่ถูกต้อง"
นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า
กรณีทดสอบ
นี่คือกรณีทดสอบ พวกเขาจะจัดรูปแบบเป็นสุทธิของลูกบาศก์กับแต่ละตารางเป็นตัวอักษรเดียว ตัวอักษรที่แตกต่างกันแสดงถึงสีที่ต่างกัน สามารถเพิ่ม testcases เพิ่มเติมได้เมื่อมีการร้องขอ
แก้ปัญหาได้
RRR
RRR
RRR
GGGWWWBBBOOO
GGGWWWBBBOOO
GGGWWWBBBOOO
YYY
YYY
YYY
GRR
GRR
ORW
WWRBWYBOOGGY
GGRBWGYBBOOO
OOGRWGYWWRBB
WYO
YYB
YYB
แก้ไม่ได้
RRR
RRR
RRR
GGGWWWBBBOOO
GGGWWWBBBOOO
GGGWYWBBBOOO
YWY
YYY
YYY
RRR
RRR
RRR
GGGWWWBBBOOO
GGGWWWBBBOOO
GGGWWWBBBOOO
YWY
YYY
YYY
RRR
RRR
GGG
GGYWYWRBBOBO
GGYWWWROBOOO
GGYWWWRBBOOO
BBB
YWY
YYY
RRW
RRW
GGG
GGYWWYEOBROO
GGYWWYEBBROO
GGOWWYWBBROO
BBB
YYW
YYO