ลูกสองคนของฉันชอบเล่นกับของเล่นต่อไปนี้:
พื้นที่สีที่มีรูปร่างอยู่ด้านในสามารถสัมผัสได้และเต่าก็จะทำการจุดไฟและเล่นเสียงหรือบอกชื่อของสีหรือรูปร่างที่อยู่ภายใน ปุ่มกลางเปลี่ยนโหมด มีโหมดหนึ่งที่พื้นที่เล่นโน้ตดนตรีที่แตกต่างกันเมื่อสัมผัสกับการบิด: หากเด็กสัมผัสสามพื้นที่ต่อเนื่องตามเข็มนาฬิกาจะมีการเล่นทำนองพิเศษ 1 หากวางทั้งสามพื้นที่ติดต่อกันเป็นทวนเข็มนาฬิกาจะมีการเล่นทำนองพิเศษ 2
ความท้าทาย
ลองจำลองตรรกะภายในของของเล่น ให้สตริงที่มี 3 กดของเด็กคืนสองค่าที่ชัดเจนและเชื่อมโยงกันหากกดสามครั้งสำหรับพื้นที่ต่อเนื่อง (ตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา) และค่าที่แตกต่างที่สามถ้าพวกเขาไม่ได้
รายละเอียด
- พื้นที่ป้อนข้อมูลจะถูกตั้งชื่อด้วยอักขระแต่ละตัวซึ่งสามารถเป็นสีของพวกเขา:
ROYGB
สำหรับสีแดงสีส้มสีเหลืองสีเขียวและสีน้ำเงิน หรือรูปร่างของพวกเขา:HSRTC
สำหรับหัวใจ, สี่เหลี่ยม, ดาว (R
), สามเหลี่ยมและวงกลม เคสไม่สำคัญคุณสามารถเลือกทำงานกับอินพุตและเอาต์พุตได้เป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก - โปรแกรมจะได้รับสตริง (หรืออาร์เรย์ถ่านหรืออะไรก็ตามที่เทียบเท่า) ด้วยการกดสามครั้ง ตัวอย่าง (โดยใช้สี):
RBO
,GYO
,BBR
,YRG
,YGB
,ORB
... - โปรแกรมจะแสดงผลลัพธ์ที่แตกต่างกันสามค่าที่เชื่อมโยงกันเพื่อแสดงผลลัพธ์ที่เป็นไปได้สามประการ: ค่าแรกหากการรวมกันไม่ทำให้เกิดท่วงทำนองพิเศษค่าที่สองถ้าการรวมกันก่อให้เกิดท่วงทำนองพิเศษตามเข็มนาฬิกาและค่าที่สาม ท่วงทำนองพิเศษทวนเข็มนาฬิกา ตัวอย่าง:
0
ไม่มีชุดค่าผสมพิเศษ1
สำหรับทำนองที่เกิดจากการผสมตามเข็มนาฬิกาและ-1
สำหรับทำนองที่เกิดจากการผสมทวนเข็มนาฬิกา - คุณไม่จำเป็นต้องกังวลเกี่ยวกับการจัดการอินพุตที่ไม่ถูกต้อง
กรณีทดสอบ
Input Output // Input based on colors
--------------
RBO 0 // No special combination
GYO -1 // Counterclockwise melody triggered
BBR 0 // No special combination
YRG 0 // No special combination
YGB 1 // Clockwise melody triggered
ORB -1 // Counterclockwise melody triggered
OOO 0 // No special combination
BRO 1 // Clockwise melody triggered
นี่คือรหัส - กอล์ฟดังนั้นอาจเป็นรหัสที่สั้นที่สุดสำหรับแต่ละภาษาที่ชนะ!
[0,0]
,[1,0]
,[0,1]
ได้รับอนุญาตเป็นผลผลิต? ฉันเห็นคำตอบของ Mathematica ทำเช่นนั้นและมันจะประหยัดได้ 3 ไบต์ในคำตอบ 05AB1E