Apokalipsa zombie nadeszła i świat się kończy. Nagle ktoś odkrywa formułę, która zajmuje aktualną godzinę, minutę i dzień, i wyrzuca idealną nutę do gry na pianinie, która natychmiast zabija każdego zombie, który ją słyszy. Niestety na świecie pozostał tylko jeden pianista, który zapomniał czytać nuty, ale nadal umie czytać nuty. Oczywiście jest to kwestia bardzo czasochłonna, więc wydaje się naturalne, że komputer to robi. 1
Twoim wyzwaniem jest zanotowanie Gi wysłanie notatki umieszczonej na pięciolinii (w kluczu wiolinowym) w następujący sposób:
-----
-----
|
---|-
|
--O--
-----
Specyfikacja:
- Musisz wypisać pięciolinię naprzemiennych linii
-----(5 myślników) i pustej linii. Łącznie będzie 5-----s. Notatkę należy nałożyć na ten pięciolinię. - Dane wejściowe określą lokalizację notatki. Dane wejściowe będą:
- opcjonalny
HlubLokreślający „wysoki” lub „niski” - list od
AdoG, określający wysokość - opcjonalny
#lubb, określający ostry lub płaski.
- opcjonalny
- „Uwaga” jest zdefiniowana jako:
- Jedna
O(duża litera O) wyrównana do środka pięciolinii, która znajduje się w miejscu nuty. (Górna linia toHF(wysokie F), a dolna linia toE(normalne E).) - Trzy
|s (pionowe paski), trzon, który będzie:- jedno pole na lewo od nuty i schodzenie w dół (zaczynając o jedno pole poniżej nuty), jeśli nuta znajduje się w środkowej linii (
B) lub powyżej, lub - jedno pole po prawej stronie nuty i idące w górę (zaczynając o jedno pole powyżej nuty), jeśli nuta znajduje się poniżej środkowej linii.
- jedno pole na lewo od nuty i schodzenie w dół (zaczynając o jedno pole poniżej nuty), jeśli nuta znajduje się w środkowej linii (
- A
#lubbjedna spacja bezpośrednio na lewo od nuty, jeśli podano ją na wejściu.
- Jedna
- Wiersze księgi muszą zostać dodane, jeśli nuta jest zbyt wysoka lub niska. Te linie będą
---(tylko 3 kreski szerokości, w przeciwieństwie do 5) i pojawią się tylko wtedy, gdy nuta jest na lub powyżej / poniżej (odpowiednio dla górnych / dolnych linii księgi) linii księgi. - Przestrzenie zewnętrzne można umieszczać w dowolnym miejscu; na przykład możesz sprawić, że puste linie będą miały spacje lub spację po liniach księgi, jeśli pomoże to w zapisaniu dowolnych znaków.
Oto wizualizacja umożliwiająca łatwiejsze zrozumienie specyfikacji wraz ze wszystkimi nazwami nut obok wierszy:
HB
--- HA
HG
----- HF
HE
----- HD
HC
----- B
A
----- G
F
----- E
D
--- C
LB
--- LA
LG
--- LF
... (bottom cut off for brevity, you get the idea anyway)
Oto kilka przykładów, które możesz wykorzystać do przetestowania swojego programu:
Wejście: HG#
#O
-|---
|
-|---
-----
-----
-----
Wejście: LAb
-----
-----
-----
-----
-----
|
--|
|
bO-
Wejście: HB
O
|--
|
-|---
-----
-----
-----
-----
Wejście: C
-----
-----
-----
-----
|
---|-
|
-O-
To jest golf golfowy , więc wygra najkrótszy kod w bajtach!
1: najbardziej realistyczny evar ekspozycji! :-P
#lubbpo prawej stronie nuty niż po lewej; czy to naprawdę jest wymagane?