入力として指定されたコードのギタータブを生成する最短のプログラムを作成します。
あなたの中のギタリストが利点を持たないように、そしてそれを決定論的(そしておそらくコーディングをより簡単にする)にするために、ここに承認された和音の唯一の形式があります:
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---
各シリーズの最初の5つのコードと最後の7つのコードの形式は異なることに注意してください。
すべてのコードは単純なメジャーまたはマイナーコードです(7番目またはその他のバリエーションはありません)。
あなたもフラットの世話をする必要があります。通知:
A# = Bb
C# = Db
D# = Eb
F# = Gb
G# = Ab
B#, Cb, E# and Fb are not used
上記のように、出力にはコード名の最初の列が含まれている必要があります。コード名を先頭に含める必要はありません。コードは-
上記のように3で区切る必要があります。最後の3つ-
はオプションです。
入力は、スペースで区切られたコード名で構成される文字列です。
入力例は次のとおりです。
Bm Gb A E G D Em F#
対応する出力は次のとおりです。
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---