Backstory [ซึ่งไม่เป็นความจริง]
มีการตั้งเปียโนดังนี้:
อย่างไรก็ตามบนเปียโนของฉันปุ่มสีดำทั้งหมดเสีย!
ฉันยังต้องการที่จะเล่นคอร์ดบางอย่างบนเปียโนที่หักของฉัน
ในดนตรีคอร์ดคือกลุ่มของโน้ตที่เล่นด้วยกัน เพื่อให้สามารถป้อนข้อมูลของคอร์ดฉันจะกำหนดสิ่งที่เป็นเสียงดนตรี
semitone คืออะไร?
semitone เป็นระยะทางที่เล็กที่สุดในดนตรีตะวันตก หากคุณดูที่ส่วนบนของเปียโนคุณจะเห็นว่าโดยปกติคุณสามารถย้ายจากคีย์สีดำไปเป็นคีย์สีขาวหรือในทางกลับกัน อย่างไรก็ตามระหว่างBและCกับEและFไม่มีคีย์สีดำ
คอร์ดคืออะไร
สำหรับจุดประสงค์ของการท้าทายนี้เราได้กำหนดคอร์ดให้เป็นโน้ตซึ่งมีเซมิโคลอนจำนวนหนึ่งคั่นอยู่ ตัวอย่างเช่นลองเอา4-3-3คอร์ดเริ่มต้นที่C(สำหรับคนดนตรีนี่คือ V 7 chord ใน F major) Cเราเริ่มต้นที่ เรานับเพิ่มขึ้น 4 C#semitones: D, D#, E, ทราบต่อไปคือEและเรานับ 3 semitones Fขึ้นหลังจากที่: F#, G, ทราบต่อไปคือGและเรานับ 3 semitones G#ขึ้นหลังจากที่: A, Bb, C-E-G-Bbดังนั้นเราจะได้รับ เย้! แต่เดี๋ยวก่อน ... Bbเป็นกุญแจดำและมันก็พัง ... อย่างไรก็ตามถ้าเราเริ่มต้นGเราจะได้G-B-D-F! เย้!
อินพุต
อินพุตถูกกำหนดเป็นรายการของจำนวนเต็มในรูปแบบที่สมเหตุสมผล นี่แสดงถึงคอร์ดตามที่อธิบายไว้ข้างต้น
เอาท์พุต
ผลลัพธ์ควรเป็นรายการบันทึกย่อที่ฉันสามารถเริ่มใช้เพียงต้องใช้คีย์สีขาว นี่อาจเป็นสตริงของบันทึกย่อสูงสุด 7 รายการเนื่องจากชื่อคีย์ทั้งหมดจะเป็นอักขระหนึ่งตัว คุณจะต้องสามารถจัดการกับการมีผลผลิตว่างเปล่าเช่นกัน
กรณีทดสอบ
input -> output // comments
4 3 -> C F G // this is a major triad
3 4 -> D E A // this is a minor triad
4 3 3 -> G // this is the major-minor seventh chord
3 3 3 -> [empty output] // this is the diminished-diminished seventh chord. All of them use black keys
4 4 -> [empty output] // this is an augmented triad
3 3 -> B // this is a diminished triad
1 -> B E // this is just a minor second
11 -> C F // this is just a major seventh
รายละเอียดอื่น ๆ
- ห้ามมีช่องโหว่มาตรฐาน
- คุณอาจคิดว่าอินพุตมีจำนวนเต็มอย่างน้อยหนึ่งตัว
- คุณอาจคิดว่าจำนวนเต็มทั้งหมดไม่เป็นลบและน้อยกว่า 12 (เพราะเปียโนทำซ้ำทุก ๆ 12 โน้ต)
- ผลลัพธ์อาจอยู่ในลำดับใดก็ได้
เกณฑ์การชนะ
การส่งที่ถูกต้องสั้นที่สุด ณ วันที่ 15 เมษายนจะได้รับการยอมรับ
