Sumari

  1. Normativa
    1. Per començar l’aventura
    2. Durant l'aventura
    3. Heu dit premis?
  2. Aliens a l'ITB!
  3. Primer contacte
    1. Input
    2. Output
  4. La magnitud del problema
    1. Input
    2. Output
  5. Obrint portes
    1. Exemple1
      1. Input
      2. Output
    2. Exemple 2
      1. Input
      2. Output
    3. Exemple 3
      1. Input
      2. Output
  6. Videovigilància
    1. Input
    2. Output
  7. Apropa't poc a poc
    1. Exemple 1
      1. Input
      2. Output
    2. Exemple 2
      1. Input
      2. Output
  8. L'alien original
    1. input
    2. Output
  9. Corre corre
    1. Input
    2. Output
    3. Explicació
  10. El teu minut de glòria
    1. Input
    2. Output
    3. Explicació
  11. Reacció en cadena
    1. Input
    2. Output
    3. Explicació
  12. Pots arribar a la terra?
    1. Exemple 1
      1. Input
      2. Output
      3. Explicació
    2. Exemple 2
      1. Input
      2. Output
      3. Explicació

Normativa

Benvinguts al concurs de programació nadalenc Aliens a l’ITB!
Prepara't per viure una aventura programàtica i intenta escapar dels aliens sense morir en l'intent. Però recorda, el més important és passar-s’ho bé i no morir-se de por.

Per començar l’aventura

Durant l'aventura

Heu dit premis?

A jugar!


Aliens a l'ITB!

Obres els ulls i està entrant la llum del sol per la finestra. Avui és l'últim dia de classe de l'any, així que et prepares el cafè amb un petit somriure. Demà arriba el descans merescut. Com cada matí t'ha costat despertar-te, així que, surts ràpid de casa per no arribar tard mentre vas pensant en els torrons i les neules que endraparàs demà. Al sortir del metro mires al cel; té un color estrany. Sembla fosc, però, alhora brillant. Avui hi ha un eclipsi de sol?- penses. No et sona, però últimament vas una mica despistat.

Puges ràpid a l'aula. Just entres a la classe mentre sona la música de l'inici i seus al teu lloc davant de la finestra. No pots deixar de mirar el color del cel. Et té completament abduït.

De sobte veus que una ombra de forma circular comença a definir-se poc a poc davant teu. Primer l'ombra tapa tota la visió de la ciutat, però poc a poc, es va concentrant en forma de cercle al voltat de l'ITB. Ara només tapa les terrasses que tens davant i el pati de sorra. Treus el cap per la finestra i mires amunt. Una gran nau alienígena està parada just a sobre l'ITB!!

De sobte sens un soroll estrany, com si s'hagués fet al buit al teu voltant -FLUP-. Gires la mirada i el professor que estava fent la classe ha desaparegut, se t'escapa un somriure. -FLUP- ha desaparegut el teu company que s'asseu davant de la porta. -FLUP, FLUP, FLUP- tots els teus companys desapareixen d'un en un fins a que només quedes tu. FLUP! perds la consciència.

Fes un programa que imprimeixi per pantalla Aliens a l'ITB!

Aliens a l'ITB!

Primer contacte

Et despertes, obres els ulls, no pots respirar. Estàs dins d'un recipient cilíndric de vidre ple d'un líquid viscós. Comences a fer cops al vidre amb les cames i els braços. Quan ja gairebé no et queda alè es fa una esquerda al vidre. El líquid surt disparat, trencant el recipient que et retenia. T'alliberes. Ja pots respirar.

Despullat i envoltat d'un liquid llefiscós mires al teu voltant. Està tot ple de cilindres de vidre amb persones a dins amb un estat vegetatiu.

El soroll pneumàtic d'una porta obrint-se et trasbalsa. Corres a amagar-te mentre mires cap a la direcció d'on ha vingut el soroll. Un ésser antropomorf marró verdós, amb un cap immens i un ulls sortits, ha entrat a la sala i s'apropa al cilindre d'on has sortit. És un alienígena!

La criatura arriba al teu cilindre i comença a mirar pel voltant preocupat i sents com comença a fer crits en una llengua incomprensible. Tu estàs amagat uns metres al costat, segur que no et trobarà, però per desgracia, has anat fins al teu amagatall has deixat un rastre de líquid viscós. L'alien se n'adona i s'apropa perillosament al teu amagatall.

Ets una persona de pau i mai has fet cap cop a ningú, però decideixes que avui no és el dia de les accions pacifiques. Has d'atacar primer. Això sí, tampoc vols ser un sanguinari, així que, decideixes utilitzar la següent estratègia guanyadora. Un cop comenci la batalla cos a cos amb l'alienígena li propinaràs sempre el doble de cops dels que et faci ell. D'aquesta manera la teva consciencia ho podria considerar legitima defensa.

Quan l'alienígena et veu fot un crit que et deixa eixordit. Té una mena de pistola a la mà, però amb un cop li cau. Llavors comença el cos a cos. Ell et dona 4 cops, tu n'hi tornes 8. Ell et dona 9 cops, tu n'hi tornes 18.

Fes un petit programa que donat el nombre de cops que et donar l'alienígena calculi quants cops li has de donar tu, fins a deixar-lo KO.

L'input seran els diferents cops que et dona l'alien. Quan l'alien estigui KO l'input serà 0

Input

8 10 0

Output

16
20

La magnitud del problema

Amb l'alienígena inconscient al terra, pots mirar al teu voltant. La sala està plena d'humans abduïts.

Fas una ullada ràpida, vols conèixer quantes persones hi ha abduïdes a la sala. La sala té una forma triangular. Els cilindres estan disposats en files, i cada fila té un cilindre menys. Comences a contar i veus que la fila amb més cilindres en té 25.

Fes un petit programa que donada la quantitat de cilindres de la fila amb més cilindres, imprimeixi el nombre total de cilindres.

Per exemple, una sala amb 4 cilindres tindria la següent forma:

x x x x
 x x x
  x x
   x

I per tant tindria 10 cilindres en total.

Input

4

Output

10

Obrint portes

Com a mínim hi deu haver tots els alumnes de l'ITB en aquesta sala! -Deuen estar buscant les persones més intel·ligents de la terra per fer algun estudi, i per això t'han triat a tu i als teus companys- penses.

Tornes a mirar l'alien inconscient. Deu haver vingut alertat per alguna alarma, no tardarà a venir-ne un altre. Has de sortir d'aquí corrent.

Et dirigeixes a la porta per on ha entrat l'alien. Està tancada però hi ha una mena de pantalla a l'esquerra amb unes inscripcions completament desconegudes per tu. Te les mires i, no saps com, però t'adones que les entens. Quan estaves intubat els extraterrestres deuen haver jugat amb el teu cervell i ara pots llegir el seu idioma.

La inscripció traduïda posa: per obrir la porta, identifica't usant les empremtes dactilars. Has de tenir la mà en contacte amb la pantalla tants segons com el teu número identificatiu.

Vas corrent cap a l'alien. Té una targeta identificativa que posa 132. Necessites a més la seva mà pel reconeixement, però el seu cos pesa massa. Agafes la seva mà i estires amb totes les forces. PFFFCCREC! El braç es separa per la meitat i una substància viscosa verda, talment Slime -o Blandiblú pels més grans-, surt disparada en totes direccions. Agafes la mà, la poses contra la pantalla i esperes 132 segons, però molt abans sents un so d'error i la pantalla es posa en vermell. MEEC.

Mires bé aquella mà. Els extraterrestres tenen només 2 dits a la mà. Intentes posar-te a la seva pell i pensar com pensa un alien, com deuen contar?

Fes un petit programa que, donat el número d'identificador d'un alien t'imprimeixi quants segons ha d'estar la mà a la pantalla per a que s'obri la porta. Tingues en compte que els identificadors dels aliens tenen com a màxim 4 dígits.

Exemple1

Input

132

Output

30

Exemple 2

Input

100

Output

16

Exemple 3

Input

33

Output

15

Videovigilància

Ja ho tens, la porta s'obre davant teu. Abans de sortir, però, et vesteixes amb la roba que porta l'alien i agafes l'objecte amb forma de pistola que li ha caigut a l'alien.
Mig amagat mires per la porta. Hi ha un petit passadís sense ningú, així que, surts de l'habitació.

Encara no has fet ni tres passes que com per art de màgia se t'obre una porta i accedeixes a una sala de control de vídeo vigilància, on hi ha diferents cabines, quan entres a la primera cabina hi veus una pantalla amb la càmera 1 que mostra:

      .--.   |V|
     /    \ _| /
     q .. p \ /
      \--/  //
     __||__//
    /.    _/
   // \  /
  //   ||
  \\  /  \
   )\|    |
  / || || |
  |/\| || |
     | || |
     \ || /
   __/ || \__
  \____/\____/

A la següent cabina hi ha una altre pantalla amb la càmera 2 que està mostrant:

     _____
 ___/     \___
`-._)     (_,-`
    \O _ O/
     \ - /
      `-'
       ||
      _||_
     |-..-|
     |/. \|
     |\__/|
   ._|//\\|_,
   `-((  ))-'
    __\\//__
    >_ /\ _<,
      ''

Segueixes mirant les altres cabines i totes tenen una sola pantalla, en aquest cas la càmera 3 està mostrant:

   _________
  /___   ___\
 //@@@\ /@@@\\
 \\@@@/ \@@@//
  \___ " ___/
     | - |
      \_/

Per la càmera 4 veus:

o
 \_/\o
( Oo)                    \|/
(_=-)  .===O-  ~~Z~A~P~~ -O-
/   \_/U'                /|\
||  |_/
\\  |
{K ||
 | PP
 | ||
 (__\\

Per la càmera 5 veus:

    o   o
     )-(
    (O O)
     \=/
    .-"-.
   //\ /\\
 _// / \ \\_
=./ {,-.} \.=
    || ||
    || ||
  __|| ||__ 
 `---" "---'

Per la càmera 6 veus:

   .-""""-.        .-""""-.
  /        \      /        \
 /_        _\    /_        _\
// \      / \\  // \      / \\
|\__\    /__/|  |\__\    /__/|
 \    ||    /    \    ||    /
  \        /      \        /
   \  __  /        \  __  /
    '.__.'          '.__.'
     |  |            |  |
     |  |            |  |

Decideixes fer un programa per poder-los observar de ben a prop. Cal fer més eficient la vídeo vigilància i no haver d'estar entrant i sortint de les cabines.
Des de l'ordinador principal vols fer un programa que indiquis el número de sala i et mostri la càmera podràs repetir aquesta operació fins que escriguis -1

Input

5 3 -1

Output

    o   o
     )-(
    (O O)
     \=/
    .-"-.
   //\ /\\
 _// / \ \\_
=./ {,-.} \.=
    || ||
    || ||
  __|| ||__ 
 `---" "---'
   _________
  /___   ___\
 //@@@\ /@@@\\
 \\@@@/ \@@@//
  \___ " ___/
     | - |
      \_/

Apropa't poc a poc

De sobte tens una pujada de moral, el teu programa ha funcionat! Et veus capaç de tot. Així que decideixes que l'única opció és capturar un alien per extreure-li informació. Utilitzes el teu programa per anar canviant de càmera. A la sala 5 n'hi ha dos, massa complicat. El de la sala 3 està armat, és massa arriscat … Sembla que el més dèbil és el de la sala 1, aquest serà el teu objectiu!

L'observes detingudament per veure com capturar-lo.

L'alien està fent una tasca molt metòdica. Prem un botó, recull un líquid viscós en una proveta gegant, el posa dins una màquina, prem un altre botó, es posa un guants i unes ulleres i ho aboca en tres dipòsits diferents. Quan acaba el procés torna a començar. La major part del temps l'alien està absort, però entre processos et podria veure apropar-te. Això et dona els següents intervals de temps sense que l'alien et pugui veure: 5 segons primer, 10 després, 20 després,… Un cop acaba torna a començar.

Mires el camí des de la porta on ets amagat a on és l'alien i tens diverses columnes a on amagar-te. Per arribar a la primera columna calcules que tardaries 10 segons, a la segona 7 i a la tercera 15.

Pots arribar a atrapar-lo sense que et vegi? En cas contrari hauríem d'esperar un canvi de rutina de l'alien.

Fes un programa que donats els intervals (en els que no et veu de la rutina de l'alien) i el que tardes entre columnes t'indiqui si és possible arribar a l'alien sense que et vegi (si el temps que tarda l'alien és exàctament igual al temps que tardes en amagar-te, considerarem que no té temps de veure't). Tingues en compte que l'alien va repetint la mateixa rutina de forma indefinida.

L'entrada primer contindrà el nombre d'intervals i els temps d'aquests.
Després el nombre d'amagatalls i el temps entre amagatalls.
Imprimeix "Corre!" si és possible, o "Espera" si no ho és

Exemple 1

Input

6 9 20 15 7 1 9
3 10 7 15

Output

Corre!

Exemple 2

Input

4 1 5 2 18
2 5 20

Output

Espera

L'alien original

Ja ho tens. Mentre l'alien agafa els tubs, vas corrent a la primera columna, t'esperes a que premi el botó, i surts corrent mentre es posa els guants i ulleres, just per tornar-te a amagar, i mentre aboca els líquids, surts disparat i arribes al seu costat sense que t'hagi vist. Dirigeixes la pistola al seu cap i amb l'altre mà li tapes la boca: ja el tens!

L'alien et mira amb cara de por, mentre tu li llences preguntes sense parar
-Què hi faig aquí? Qui sou? Què voleu de mi? Com puc tornar a la terra?
Per desgràcia teva aquest alien no sap res, però t'explica que sap qui pot tenir tota la informació: tots els aliens de la nau són descendents d'un alien original. Aquest és el que té tota la informació.

Després t'explica que els aliens és reprodueixen per partenogènesi (reproducció asexual) i cada alien pot tenir diversos fills. Els aliens tenen nom i cognom. Quan un alien té un fill, se li posa un nom nou únic (cap altre alien el té) i el nom del pare com a cognom.

-Però qui és aquest alien? Com es diu i on el puc trobar?- li preguntes.
-L'alien que has de trobar es diu… i just quan estava a punt d'acabar la frase, et bé un gran esternut que et fa tancar les mans amb força.

SPLAF! se t'ha disparat la pistola i l'alien ha explotat com un globus, empastifant-te la cara d'entranya alienígena. Et neteges el ulls i respires profundament, no pot ser que tinguis tanta mala sort -penses-. I just llavors, a la màquina a on treballava l'alien hi veus una pantalla on hi ha una llistat amb tot de noms. Són els noms de tots els aliens de la nau! Podràs trobar l'alien original?

input

3
Kahlest Mow'ga
Doran Kahlest
B'iJik Doran

Output

Kahlest Mow'ga

Corre corre

El gran alien és el Kahlest Mow'ga! Necessites que et respongui què hi fas i com pots tornar -t'envalentones-. Però de sobte tornes a mirar la llista. És molt i molt llarga, aquesta nau està farcida d'aliens que en faran mandonguilles de tu si no vigiles. Necessites un pla. Ets d'aquells que caminen per pensar, així que, fas voltes per la sala i quan ja ho dones tot per perdut, et trobes davant d'una mena de plànol de la nau. Un plànol d'evacuació en cas d'incendi! i hi ha una sala on hi posa, tron de Kahlest Mow'ga. Aquesta sala és pràcticament al costat de la teva, només hi ha una altre gran sala entremig.

T'apropes a la porta que et dirigeix a la gran sala i l'obres amagant-te a un costat per observar-la. La sala està plena d'alienígenes! No pots atacar-los a tots, però tampoc hi ha lloc per amagar-te! Necessites travessar la sala d'un extrem a l'altre corrent i disparant a tort i a dret, trobant el mínim d'alienígenes possibles.

Divideixes la sala en forma de quadricula i apuntes a on hi ha els aliens. Ara només et falta un petit programa que et digui per on passar, tenint en compte que travessaràs la sala d'esquerra a dreta (sense moure't amunt i avall) i que els aliens et podran atacar sempre que estiguin a una casella adjacent a la que passes.

L'input serà, primer el nombre de files i columnes.
Després el contingut de cada pocició, on - indica una posició buida i A és una posició amb un àlien.
La sortida ha de ser el número de fila on et creues amb menys àliens.

Input

8 10
- A A A - A A A - A
- - - A A - A A A -
- - - A - A - A - -
- - A - - - - A - -
- A - - A - A A - -
A - - A - - A A - -
- A - A - - A A - A
A A - A - - A A A A

Output

3

Explicació

A la fila 3 et creues amb els 2 de la fila 3, més els de les files contigües: la 2 amb 3 aliens, i la 4 amb 4 aliens. Això dona un total de 2+3+4=9 aliens.


El teu minut de glòria

Tindràs 9 alienígenes al teu camí. Et mentalitzes i amb la pistola a la mà, comences a corre mentre dispares a tort i a dret! Els aliens van explotant al teu costat mentre no pares de corre. Llavors un alien que es troba al teu davant, dispara!!
Just quan un altre alien està a punt d'esclafar-te obres la porta del final de la sala, la tanques i dispares el mecanisme per a què no es torni a obrir. Respires alleugerit, quan sents una remor al teu darrere.

Un alien amb capa i corona et mira fixament. És en Kahlest Mow'ga! abans de que puguis dir res, sens una veu dins teu. -Què hi fas aquí? Qui gosa molestar-me?-. Aquest alien té telepatia!
-Com goses molestar-me criatura insignificant!-. Intentes corre, però notes que no controles el teu cos.
-T'esclafaré amb les meves pròpies mans- sents mentre el teu cos camina cap a ell sense que hi puguis fer res. Has de fer alguna cosa, pensa ràpid. Però només pots pensar en què ja deu ser Nadal, penses en torrons, neules, nadales, i comences a cantar.

Tanques els ulls -el vint-i-cinc de desembre, fum, fum fum- quan eres petit cantaves en una coral, i en els moments de tensió sempre hi recorres. -si n'és nat un minyonet-. Notes que vas recuperant les forces! obres els ulls i veus com el cap d'en Kahlest Mow'ga s'està inflant de forma desmesurada. -ros i blanquet- el cap es desinfla i tornes a perdre les forces. -ros i blanquet- el cap es torna a inflar. Ràpidament t'adones que, segons la melodia que cantes, el cap del alien es va inflant i desinflat. Àixí que comences una fase d'anàlisi: cantes la-sol i el cap s'infla molt, sol-la i es desinfla una mica, la-do i s'infla una mica. Necessites trobar la melodia que fagi creixer el cap del Kahlest Mow'ga en el menor temps possible.

Fes un programa que, donat per cada parell de notes l'increment (o decrement) del cap (mm cubics), i una llista de melodies, indiqui quina és la melodia que més li fa inflar el cap.

Imprimeix per pantalla el creixement que provoca la cançó que fa un creixement més gran.

Input

DO DO 0 DO RE 7 DO MI -1 DO FA -1 DO SOL -1 DO LA 7 DO SI -1
RE DO 5 RE RE -1 RE MI 1 RE FA -1 RE SOL 4 RE LA -1 RE SI -1 
MI DO 5 MI RE 5 MI MI -1 MI FA -1 MI SOL -1 MI LA -1 MI SI 2
FA DO 2 FA RE 2 FA MI 0 FA FA -1 FA SOL -4 FA LA 0 FA SI -1
SOL DO -9 SOL RE -1 SOL MI -1 SOL FA -1 SOL SOL -1 SOL LA -1 SOL SI -1
LA DO 9 LA RE 7 LA MI -1 LA FA -1 LA SOL -2 LA LA 0 LA SI 9
SI DO -7 SI RE -1 SI MI -1 SI FA -5 SI SOL -1 SI LA -1 SI SI -1
2
4 LA SOL LA DO
4 SI MI FA MI

Output

6

Explicació

Si analitzem la primera cançó tenim:

Per tant, al cantar aquesta cançó inflaria el cap 6mm cubics.

En canvi SI MI FA MI, desinflaria 6mm (-6) cubics.

Per tant el resultat serà 6


Reacció en cadena

Ja ho tens. -LaLaraLara IU, Lara IU, Lara IU!- Un Iòdel (cançó tirolesa) funciona de meravella. El cap s'infla de forma exponencial -LaLaraLara IU-, s'infla, s'infla, s'infla -, Lara IU, Lara IU- SPLAF! En Kahlest Mow'ga ha explotat!

exploding_alien.gif

Tens una intuïció! obres la porta de la gran sala mentre segueixes cantant ben fort. -LaLaraLaraIU LaraIU LaraIU!- SPAF! SPAF! SPAF! vísceres d'alien surten disparades per tots costats -LaraIU LaraIU!- un a un, se'ls hi infla el cap fins a fer un pet. Vas passejant per la nau obrint les diferents portes -LaraIU LaraIU!- deixant un gran rastre de líquids verds.

Vols assegurar-te que no quedi cap alien viu. Aproximadament els aliens que tens a pocs metres els afecta el teu cant i els hi explota el cap. Has de passar per tots els racons de la nau. Mires bé el mapa de la nau: és rectangular i té 3 plantes, així que cada planta és podria simplificar com una graella de 10x20 de 5 metres cada una. Mires a on et trobes i vas apuntant cap a quina direcció vas. Endavant, esquerre, esquerre, esquerre, puges de planta,… Pots fer un programa que et digui quants espais de la graella et falten per visitar.

L'input serà primer, les mides de la nau (número de plantes, llargada(y), amplada (x)).
Després la posició inicial (planta, y, x) tenint en compte que comencem a contar per 0
A continuació les direccions que vas prenent (up, down, right, left, forward, backward) i end, quan acabis.

Input

3 2 3
1 0 2
up
left
forward
down
backward
down
right
end

Output

10

Explicació

Després de fer el recorregut, hem passat per les sales indicades amb números. El número indica quan hi ha passat. Les que tenen x, és que no hi has passat mai.

x 7 8
x x x

x 6 1
x 5 x

x 3 2
x 4 x

Pots arribar a la terra?

SPAF!SPAF!SPAF!…SPAF!… … SPAF! … … …
Respires, i gaudeixes del silenci. En poc més de 10 minuts ja no queda cap alienígena que es mogui a la nau. Estàs completament amarat de líquid d'alien i pràcticament no es pot ni caminar de les entranyes escampades pel terra, però vols fugir d'aquí. Aixeques la mirada i et sembla que per fi la sort està del teu costat. Estàs just a la sala de comandament.

Com deu funcionar la nau? -et preguntes-. Comences a apretar botons pantalles, però res. Quan ja estàs deseperat crides -Vull tornar a la terra!- i una veu de l'assistent de bord et respon -preparant rumb a la terra -, sortida en 3, 2, 1….-. S'encenen els propulsors i sortim! Ho has aconseguit, has escapat de la nau alienígena i poses rumb a la terra.

Et relaxes, et reclines una mica i poses els peus sobre la taula de control, quan de sobte s'il·lumina un pilot vermell. La nau s'està quedant sense energia! Seguint les indicacions del pilot de bord pares a una mena d'estructura que hi ha al mig de l'espai. La nau s'hi connecta, i veus com l'indicador d'energia puja fins dalt, però t'adones que n'hi ha un altre que baixa! És l'indicador dels diners que et queden! No en tens gaires, i tenint en comte el consum que ha tingut aquesta nau, hauràs de parar a carregar la nau unes quantes vegades. Hauràs d'estudiar-ho bé per no quedar-te sense diners.

Demanes al pilot de bord que et mostri el mapa per arribar a la terra i veus que, hi ha un carregador cada 3 anys llum. La teva nau pot fer 10 anys llum sense recarregar.

Mires els diners que et queden i quin preu té carregar la nau a cada un dels punts de càrrega -el preu és el mateix si has de carregar una mica d'energia o molta-.

Fes un programa que, donat el preu de recarregar la nau a cada un dels punts de càrrega que hi ha fins a la terra, indiqui si és possible arribar a la terra amb el diners que tens.

L'input primer serà la quantitat de diners que tens disponibles. Després el nombre de punts de càrrega i després el preu de cada un.
Si pots arribar a la terra imprimeix Torno a la terra, sinó Em quedo amb els aliens

Exemple 1

Input

60
6
50 50 20 50 50 20 50

Output

Torno a la terra

Explicació

Amb els inputs següents, la nau té 60 monedes i hi ha 6 punts de càrrega. La nau para a la tercera a recarregar (li queden 40). Després para a la 6a (li queden 20) i arriba a la terra.

Exemple 2

Input

60
6
50 50 40 50 50 30 50

Output

Em quedo amb els aliens

Explicació

Amb 60 monedes no pots arribar a la terra ja que com a mínim necessites 70 monedes.