Một sơ đồ cần đàn guitar trông như thế này:
0 1 2 3 4 5 6 7 8 9 10 11 12 <- Fret number (0 means it's open)
|-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E
|-B--C--C#-D--D#-E--F--F#-G--G#-A--A#-B
|-G--G#-A--A#-B--C--C#-D--D#-E--F--F#-G
|-D--D#-E--F--F#-G--G#-A--A#-B--C--C#-D
|-A--A#-B--C--C#-D--D#-E--F--F#-G--G#-A
|-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E
Như bạn có thể thấy, chuỗi đầu tiên (từ trên cùng) mở là một E
. Băn khoăn đầu tiên trên chuỗi đầu tiên là một F
. Băn khoăn thứ tư trên chuỗi thứ ba là a B
. Lưu ý rằng ghi chú đầu tiên là băn khoăn zeroth, không phải đầu tiên.
Điều này có thể được viết với các số trên định dạng string, fret
. Các chuỗi được đánh số từ 1 đến 6 từ trên xuống dưới. Các phím đàn được đánh số từ 0 đến 12 từ trái sang phải. Đầu tiên E
là do đó 1, 0
. Một số ví dụ khác:
1, 0 --> E
1, 1 --> F
3, 5 --> C
5, 1 --> A#
6, 6 --> A#
Thử thách:
Lấy N
các cặp số ( s
và f
) và xuất ra một chuỗi ghi chú phân cách.
- Các đầu vào có thể là trên bất kỳ định dạng phù hợp. bộ dữ liệu, ma trận 2D, hai danh sách riêng biệt, một danh sách đan xen (chuỗi, băn khoăn, chuỗi, băn khoăn ...), v.v.
- Âm đầu ra phải được tách riêng, nhưng dấu phân cách là tùy chọn (dấu phẩy, dấu cách, dấu gạch ngang ...). Đầu ra có thể ở dạng chữ hoa hoặc chữ thường.
s
(đối với chuỗi) sẽ nằm trong phạm vi[1, 6]
(bạn có thể chọn để có 0 chỉ mục)f
(đối với băn khoăn) sẽ nằm trong phạm vi[0, 12]
Các trường hợp thử nghiệm và ví dụ:
1 4 5 2 1 3 <- String
4 2 6 3 5 1 <- Fret
G# E D# D A G#
6 2 3 1 4 2 3 2 2 2 6 5 2
0 1 2 3 4 5 6 7 8 9 10 11 12
E C A G F# E C# F# G G# D G# B
3 3 3 3 3 3 3 3 3 3 3 3 3 <- String
0 3 5 0 3 6 5 0 3 5 3 0 0 <- Fret
G A# C G A# C# C G A# C A# G G
// The same test case, but different input and output format:
(3,0)(3,3)(3,5)(3,3)(3,6)(3,5)(3,0)(3,3)(3,5)(3,3)(3,0)(3,0)
G,A#,C,G,A#,C#,C,G,A#,C,A#,G,G
Chúc may mắn và chơi golf vui vẻ!