Schreiben Sie das kürzeste Programm, das Gitarren-Tabs für die als Eingabe angegebenen Akkorde generiert.
Damit die Gitarristen unter Ihnen keinen Vorteil haben und es deterministisch (und wahrscheinlich einfacher zu codieren) machen, sind hier die einzigen Formen der zugelassenen Akkorde:
Major chords:
E F F# G G# A A# B C C# D D#
e 0---1---2---3---4---0---1---2---3---4---5---6---
B 0---1---2---3---4---2---3---4---5---6---7---8---
G 1---2---3---4---5---2---3---4---5---6---7---8---
D 2---3---4---5---6---2---3---4---5---6---7---8---
A 2---3---4---5---6---0---1---2---3---4---5---6---
E 0---1---2---3---4---0---1---2---3---4---5---6---
Minor chords:
Em Fm F#m Gm G#m Am A#m Bm Cm C#m Dm D#m
e 0---1---2---3---4---0---1---2---3---4---5---6---
B 0---1---2---3---4---1---2---3---4---5---6---7---
G 0---1---2---3---4---2---3---4---5---6---7---8---
D 2---3---4---5---6---2---3---4---5---6---7---8---
A 2---3---4---5---6---0---1---2---3---4---5---6---
E 0---1---2---3---4---0---1---2---3---4---5---6---
Beachten Sie, dass die 5 ersten Akkorde und die 7 letzten Akkorde jeder Serie unterschiedliche Formen haben.
Alle Akkorde sind einfache Dur- oder Moll-Akkorde (Nr. 7 oder andere Variationen).
Sie sollten sich auch um Wohnungen kümmern. Erinnerung:
A# = Bb
C# = Db
D# = Eb
F# = Gb
G# = Ab
B#, Cb, E# and Fb are not used
Die Ausgabe muss die erste Spalte mit den Kabelnamen enthalten, wie oben gezeigt. Der Akkordname muss nicht oben stehen. Akkorde müssen -
wie oben gezeigt durch 3 getrennt werden . Die letzten 3 -
sind optional.
Die Eingabe ist eine Zeichenfolge, die aus durch Leerzeichen getrennten Akkordnamen besteht.
Ein Beispiel für eine Eingabe ist:
Bm Gb A E G D Em F#
und die entsprechende Ausgabe ist:
e 2---2---0---0---3---5---0---2---
B 3---2---2---0---3---7---0---2---
G 4---3---2---1---4---7---0---3---
D 4---4---2---2---5---7---2---4---
A 2---4---0---2---5---5---2---4---
E 2---2---0---0---3---5---0---2---