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 เมษายนจะได้รับการยอมรับ