Biorąc pod uwagę listę akordów oznacz je jako „Major” lub „Minor”.
Wejście
Wejście będzie listą akordów, po jednej w wierszu, złożoną z 3 nut oddzielonych spacją. Każda nuta będzie się składać z nazwy nuty pisanej wielkimi literami ( A- G) i opcjonalnego przypadkowego ( #lub b). Akordy mogą być w dowolnej inwersji (tzn. Nuty mogą być w dowolnej kolejności).
Wynik
Jeśli akord jest major, wyślij „Major”. Jeśli akord jest niewielki, wypisz „Minor”. Jeśli akord nie jest ani większy ani mniejszy, wypisz pusty wiersz.
Przykład
Wejście
C E G
F Ab C
C Eb Gb
E G B
Db F Ab
Bb G D
D A Gb
Wynik
Major
Minor
Minor
Major
Minor
Major
Skrypty testowe
Podobnie jak w niektórych moich poprzednich pytaniach, po raz kolejny opracowałem skrypty testowe pierwotnie stworzone przez Joeya i Ventero, aby zapewnić kilka przypadków testowych dla tego pytania:
Stosowanie: ./test [your program and its arguments]
Nagrody
Każdy wpis, który mogę zweryfikować, który spełnia specyfikację, przechodzi testy i oczywiście miał pewne próby gry w golfa, otrzyma ode mnie opinię (więc proszę o podanie instrukcji użytkowania wraz z odpowiedzią). Najkrótsze rozwiązanie do końca 13.10.2012 zostanie zaakceptowane jako zwycięzca.
Trochę teorii
Dla tych z was, którzy nie znają teorii muzyki, oto wystarczająca ilość informacji, aby móc konkurować.
Akord główny lub podrzędny składa się z trzech nut oddzielonych określonym wzorem półtonów. Jeśli weźmiemy pod uwagę rdzeń (dolną nutę) akordu jako 0, to główny akord jest wzorem 0-4-7, a mniejszy akord jest wzorem 0-3-7. Sprawa jest jeszcze bardziej niezręczna z powodu faktu, że niektóre nuty są oddzielone półtonem, a niektóre tonem. Rozpiętość półtonów od Ab- G#jest następująca:
G#/Ab A A#/Bb B/Cb B#/C C#/Db D D#/Eb E/Fb E#/F F#/Gb G G#/Ab
0 1 2 3 4 5 6 7 8 9 10 11 12
G#/Aboznacza, że G#jest to ta sama uwaga co Ab. Z tego wynika, że akord Ab C Ebjest akordem głównym, a to Ab Cb Ebjest niewielkie.
Aby skomplikować sprawy dalej, akord Eb Cb Abjest uważany za tak samo jak Ab Cb Eb, Cb Eb Aba Cb Ab Ebi tak dalej. Każda z tych odmian jest wciąż niewielkim akordem.