Đây là mặt trái của Âm nhạc: những gì trong hợp âm này? , đó là in các nốt trong một hợp âm nhất định. Lần này, đầu vào là một danh sách các nốt trong hợp âm và nhiệm vụ của bạn là xuất ra hợp âm đó.
Chương trình của bạn nên hỗ trợ các hợp âm bộ ba sau đây. Các ví dụ được đưa ra với root C. Hợp âm với các gốc khác là các hợp âm giống nhau với tất cả các nốt được xoay để C sẽ trở thành nốt gốc đó, ví dụ Dmaj bao gồm D, F # và A.
C C#D D#E F F#G G#A A#B
Db Eb Gb Ab Bb
Cmaj C E G
Cm C D# G
Caug C E G#
Cdim C D# F#
Csus4 C F G
Csus2 C D G
Lưu ý rằng Caug giống với Eaug và G # aug và Csus4 giống với Fsus2. Bạn có thể xuất một trong hai nhưng có phần thưởng nếu bạn xuất tất cả.
Và hợp âm thứ bảy cho phần thưởng được liệt kê trong bảng sau:
C C#D D#E F F#G G#A A#B
Db Eb Gb Ab Bb
C7 C E G A#
Cm7 C D# G A#
Cmmaj7 C D# G B
Cmaj7 C E G B
Caug7 C E G# A#
Cdim7 C D# F# A
Quy tắc
- Bạn có thể viết một chương trình hoàn chỉnh hoặc một chức năng.
- Đầu vào là một danh sách các ghi chú, được phân tách bằng khoảng trắng hoặc ký tự thuận tiện khác. Nó cũng có thể là một chuỗi các chuỗi (nếu nó lấy đầu vào từ đối số hàm) hoặc biểu diễn chuỗi của mảng đó.
- Đầu vào không phải theo thứ tự cụ thể.
- Có thể có ghi chú trùng lặp trong đầu vào. Họ phải được đối xử theo cùng một cách vì chỉ có một trong số họ.
- Đầu ra là tên của hợp âm. Trong trường hợp nó sẽ xuất nhiều tên, áp dụng quy tắc tương tự cho đầu vào.
- Nếu đầu vào không phải là hợp âm được hỗ trợ, bạn nên in ghi chú nguyên trạng. Chương trình của bạn cũng có thể hỗ trợ các hợp âm khác không được liệt kê trong các bảng trên (hợp lệ nhưng không có tiền thưởng).
- Bạn có thể sử dụng các ký hiệu khác được liệt kê trong bài viết Wikipedia . Nhưng nếu bạn chọn
C
C chính, bạn nên thêm tiền tố có thể đọc được trong cả hai trường hợp để phân biệt hợp âm với một nốt. - Bạn không thể sử dụng các hàm dựng sẵn cho tác vụ này (nếu có).
- Đây là môn đánh gôn. Mã ngắn nhất trong byte thắng.
Ví dụ
- Đầu vào:
C D# G
Đầu ra :Cm
. - Đầu vào:
C Eb G
Đầu ra :Cm
. - Đầu vào:
C Eb F#
Đầu ra :Cdim
. - Input:
F A C#
Output:Faug
,Aaug
,C#aug
,Dbaug
hayFaug Aaug C#aug
,Faug Aaug Dbaug
trong bất kỳ thứ tự. - Đầu vào:
F D F F F F A A F
Đầu ra :Dm
. - Đầu vào:
C D
Đầu ra :C D
.
Tiền thưởng
- -30 nếu nó in tất cả nếu có nhiều hơn một cách hiểu (đối với aug, sus4 / sus2 và dim7).
- -70 nếu nó cũng hỗ trợ hợp âm thứ bảy.
- -200 nếu nó chấp nhận đầu vào MIDI và in từng hợp âm mà nó đã nhận được. Lưu ý rằng các ghi chú không phải bắt đầu hoặc kết thúc cùng một lúc. Bạn quyết định những gì xảy ra ở các trạng thái trung gian (miễn là nó không bị sập hoặc ngừng hoạt động). Bạn có thể cho rằng không có ghi chú nào trong các kênh bộ gõ (hoặc chỉ có một kênh nếu thuận tiện). Bạn cũng nên cung cấp một phiên bản văn bản (hoặc mảng) để thử nghiệm, đặc biệt nếu nó phụ thuộc vào nền tảng.
B#
, Cb
vv
Csus4 is the same as Gsus2
. Tôi nghĩ bạn có nghĩa là Csus2 is the same as Gsus4
bạn không?