Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2017. december 3.

2017. december 3. 10:10 – 2017. december 3. 15:10

F — Csataszimuláció


A képet Bandai Namco készítette

Egy borzalmas szörny őrjöng Új-Tokió 5-ben! A Földi Védelmi Erő (Earth Defense Force, EDF) egy mech egységet (japán tinédzserek által irányított hatalmas kétlábú robotot) küldött, hogy legyőzze a szörnyet. Mivel a korábbi szörnyámokfutások után csak egyetlen mech egység áll rendelkezésre, az EDF úgy döntött, hogy szimulálja a közelgő csatát a mech és a szörny között, mielőtt támadást indítana. Az EDF megfigyelte, hogy a szörny támadási mintája szimulálható az általa egymás után végrehajtott mozdulatok sorozatával. Ha a lehetséges mozdulatait egy-egy betűvel jelöljük, a támadási mintát egyetlen sztringgel reprezentálhatjuk, amelyet balról jobbra kell olvasni. A szörny a következő mozdulatokra képes:

  • Hajlítás (rake), amelyet 'R' betűvel jelölünk;
  • Harapás (bite), amelyet 'B' betűvel jelölünk;
  • Lézertűz (laser breath), amelyet 'L' betűvel jelölünk.

A szörny legyőzéséhez a mechnek a szörny minden mozdulatára egy ellenmozdulatot kell végrehajtania:

  • Nyesés (slice), amelyet 'S' betűvel jelölünk, és a szörny hajlítását semlegesíti;
  • Rúgás (kick), amelyet 'K' betűvel jelölünk, és a szörny harapását semlegesíti;
  • Pajzs (shield), amelyet 'H' betűvel jelölünk, és a szörny lézertüzét semlegesíti.

Van azonban egy csel. Ha a szörny a Hajlítás, Harapás és Lézertűz egymás utáni kombinációját hajtja végre (bármilyen sorrendben), az egy nagyon erős támadás lesz, amely ellen a mechnek egyetlen ellenmozdulatot kell végeznie, a Kombótörés-t (combo breaker), amelyet 'C' betűvel jelölünk. Egyetlen Kombótörés elnyeli a három mozdulat teljes kombinációját. A szörny bármely további mozdulatát külön, vagy egy új kombináció részeként kell semlegesíteni. A szörny egy mozdulata sosem lehet része egynél több kombinációnak.

A szörny korábbi videlkedésének alapos vizsgálatával az EDF képes megbízhatóan megjósolni a szörny későbbi mozdulatait. Adva lesz egy sztring, amely a szörny által alkalmazott mozdulatokat reprezentálja a mechhel vívott csatában. Az EDF azt szeretné, hogy írj egy programot, amely kiírja azt a mozdulatsorozatot, amelyet a mechnek végre kell hajtania a szörny legyőzéséhez.

A bemenet specifikációja

A bemenet egyetlen sorból áll, amelyben egy legalább 1, legfeljebb 1 000 000 karaktert tartalmazó sztring szerepel. A sztring minden karaktere az 'R', 'B' és 'L' betűk egyike.

A kimenet specifikációja

Egyetlen sztringet kell a kimenetre írni, amely a szörny legyőzése érdekében a mech által egymás után végrehajtandó mozdulatokat jelölő betűket tartalmazza.

1. példa bemenet

  1. RRBBBLLR
letöltés szöveges állományként

Az 1. példa bemenethez tartozó kimenet

  1. SSKKKHHS
letöltés szöveges állományként

2. példa bemenet

  1. RBLLLBRR
letöltés szöveges állományként

A 2. példa bemenethez tartozó kimenet

  1. CHCS
letöltés szöveges állományként

3. példa bemenet

  1. RBLBR
letöltés szöveges állományként

A 3. példa bemenethez tartozó kimenet

  1. CKS
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.