Scrivi due programmi triangolari (cioè piramidali).
Il primo dovrebbe essere un triangolo di testo rivolto verso l'alto con una larghezza di base minima di tre caratteri. Quindi avrebbe una struttura simile
X
XXX
o
X
XXX
XXXXX
o
X
XXX
XXXXX
XXXXXXX
o più grande. Ognuno di questi X
deve essere sostituito con i caratteri del tuo codice reale, che può essere qualsiasi cosa tranne i terminatori di riga (quindi gli X
spazi potrebbero essere spazi). Tutti gli elementi X
devono essere sostituiti e gli spazi e le nuove linee che aiutano a formare la forma triangolare devono rimanere così come sono.
Il secondo programma deve avere le stesse dimensioni e forma del primo, tranne per il fatto che il triangolo sarà rivolto verso il basso.
Quindi, se il tuo primo programma sembra
X
XXX
XXXXX
allora il tuo secondo programma sarebbe simile
yyyyy
yyy
y
dove ognuno y
è un personaggio che devi inserire con il tuo codice reale (probabilmente diverso dal tuo X
codice). Gli spazi e le nuove linee devono rimanere uguali anche qui.
Il tuo compito è quello di scrivere questi programmi in modo tale che ogni uscita (allo stdout o all'alternativa più vicina) il titolo di una distinta canzone dei Beatles , senza prendere alcun input. Questo articolo di Wikipedia servirà come la nostra lista di canzoni ufficiale per i Beatles. L'output dovrebbe essere uno dei titoli esattamente come elencato, ad es I Want You (She's So Heavy)
.
Questo è abbastanza facile, tuttavia, anche con il requisito del programma triangolo strano. Quindi formeremo un altro programma dai primi due che deve produrre un altro titolo della canzone.
Combinando tre copie di ciascuno dei due programmi triangolari possiamo creare un terzo programma a forma di esagono.
Se la larghezza di base del tuo primo programma fosse tre sarebbe simile a questa:
XyyyX
XXXyXXX
yyyXyyy
yXXXy
Se la larghezza della base fosse cinque sarebbe simile a questa:
XyyyyyX
XXXyyyXXX
XXXXXyXXXXX
yyyyyXyyyyy
yyyXXXyyy
yXXXXXy
Questo programma (quando eseguito con spazi e newline come gli altri) deve produrre un altro titolo di canzone dei Beatles, proprio come i primi due programmi. Anche:
- I tuoi tre programmi devono produrre titoli di brani diversi.
- Sono ammessi solo titoli di brani di lunghezza pari o superiore a otto caratteri.
- È possibile scegliere solo uno dei
Revolution
,Revolution 1
eRevolution 9
perché i titoli sono così simili. - Devi scegliere le tue tre canzoni dei Beatles preferite. (Beh, prova a farlo.)
Si noti che sono richiesti programmi effettivi. Le funzioni non sono consentite. Anche la lettura del proprio codice sorgente in qualsiasi programma non è consentita.
Esempio
Se il tuo primo programma fosse
A
AAA
AAAAA
potrebbe emettere Across the Universe
.
Quindi il tuo secondo programma
bbbbb
bbb
b
potrebbe produrre Revolution
.
Quindi combinato nel programma esagonale
AbbbbbA
AAAbbbAAA
AAAAAbAAAAA
bbbbbAbbbbb
bbbAAAbbb
bAAAAAb
l'output potrebbe essere Get Back
.
punteggio
Vince l'invio con la larghezza di base del triangolo più piccola. Nel probabile caso di vincite vince l'invio con la lunghezza sommata maggiore dei suoi tre titoli di brani.