Napisz dwa programy w kształcie trójkąta (piramidy).
Pierwszy powinien być skierowanym do góry trójkątem tekstowym o minimalnej szerokości podstawy wynoszącej trzy znaki. Więc miałby taką strukturę
X
XXX
lub
X
XXX
XXXXX
lub
X
XXX
XXXXX
XXXXXXX
lub większy. Każdy z nich X
ma zostać zastąpiony znakami twojego rzeczywistego kodu, którym może być cokolwiek oprócz terminatorów linii (więc X
mogą być spacjami). Wszystkie X
muszą zostać zastąpione, a spacje i znaki nowej linii, które pomagają utworzyć kształt trójkąta, muszą pozostać bez zmian.
Drugi program musi mieć taki sam rozmiar i kształt jak pierwszy, z wyjątkiem tego, że trójkąt będzie skierowany w dół.
Więc jeśli wygląda twój pierwszy program
X
XXX
XXXXX
wtedy wyglądałby twój drugi program
yyyyy
yyy
y
gdzie każdy y
jest znakiem, który musisz wypełnić swoim rzeczywistym kodem (prawdopodobnie innym niż X
kod). Spacje i znaki nowej linii również muszą pozostać takie same.
Twoim zadaniem jest napisanie tych programów w taki sposób, aby każdy z nich wypisał (w stdout lub najbliższą alternatywę) tytuł odrębnej piosenki Beatlesów , nie biorąc żadnego wkładu. Ten artykuł z Wikipedii posłuży jako nasza oficjalna lista piosenek dla The Beatles. Wyjście powinno być jednym z tytułów dokładnie takich, jak wymienione, np I Want You (She's So Heavy)
.
Jest to jednak dość łatwe, nawet w przypadku wymagań dotyczących dziwnego trójkąta. Więc stworzymy inny program z pierwszych dwóch, który musi wypisać kolejny tytuł piosenki.
Łącząc trzy kopie każdego z dwóch trójkątnych programów, możemy stworzyć trzeci program w kształcie sześciokąta.
Gdyby szerokość podstawowa pierwszego programu wynosiła trzy, wyglądałoby to tak:
XyyyX
XXXyXXX
yyyXyyy
yXXXy
Gdyby szerokość podstawy wynosiła pięć, wyglądałoby to tak:
XyyyyyX
XXXyyyXXX
XXXXXyXXXXX
yyyyyXyyyyy
yyyXXXyyy
yXXXXXy
Ten program (uruchamiany ze spacjami i znakami nowej linii, jak inne) musi generować kolejny tytuł piosenki Beatlesów, podobnie jak dwa pierwsze programy. Również:
- Twoje trzy programy muszą wyświetlać różne tytuły piosenek.
- Dozwolone są tylko tytuły piosenek o długości ośmiu znaków lub dłuższych.
- Możesz wybrać tylko jeden z nich
Revolution
,Revolution 1
aRevolution 9
ponieważ tytuły są bardzo podobne. - Musisz wybrać trzy ulubione piosenki Beatlesów. (Cóż, spróbuj .)
Pamiętaj, że wymagane są rzeczywiste programy. Funkcje nie są dozwolone. Odczytywanie własnego kodu źródłowego w dowolnym programie jest również niedozwolone.
Przykład
Jeśli twoim pierwszym programem był
A
AAA
AAAAA
może wyjść Across the Universe
.
Potem twój drugi program
bbbbb
bbb
b
może wyjść Revolution
.
Następnie połączone w program sześciokątny
AbbbbbA
AAAbbbAAA
AAAAAbAAAAA
bbbbbAbbbbb
bbbAAAbbb
bAAAAAb
wyjście może być Get Back
.
Punktacja
Wygrywa zgłoszenie o najmniejszej szerokości podstawy trójkąta. W prawdopodobnym przypadku więzi wygrywa zgłoszenie o największej zsumowanej długości trzech tytułów piosenek.