Схема гітари на грилі виглядає приблизно так:
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
Як бачите, перша відкрита рядок (зверху) - це an E
. Перша лада на першій струні - це F
. Четверта лада на третій струні - a B
. Зауважте, що перша нота - це нульова лада, а не перша.
Це можна записати цифрами у форматі string, fret
. Рядки нумеруються від 1 до 6 зверху вниз. Лади нумеруються від 0 до 12 зліва направо. Перше E
- отже 1, 0
. Деякі інші приклади:
1, 0 --> E
1, 1 --> F
3, 5 --> C
5, 1 --> A#
6, 6 --> A#
Виклик:
Візьміть N
пари чисел ( s
і f
) і виведіть розділену послідовність нот.
- Вхід може бути у будь-якому відповідному форматі. кортежі, 2D-матриця, два окремих списки, переплетений список (рядок, лада, рядок, лада ...) тощо
- Вихідний тон слід розділити, але роздільник не є обов'язковим (кома, пробіл, тире ...). Вихід може бути у верхньому або нижньому регістрі.
s
(для рядка) буде в діапазоні[1, 6]
(ви можете вибрати, щоб я 0-індексував)f
(для ладу) буде в діапазоні[0, 12]
Тестові приклади та приклади:
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
Удачі та щасливого гольфу!