Programozó versenyek

DEIK Regionális Programozó Csapatverseny, nyílt kategória, 2019. december 8.

2019. december 8. 10:15 – 2019. december 8. 15:15

Játékstratégia

A RamWar egy olyan többszemélyes játék, ahol a harc egy szerver memóriájáért folyik. A memória egy folytonos, egydimenziós, N elemű tömb, melynek celláit 0-tól N – 1-ig indexeljük. A szomszédos cellákat 4 egység méretű blokkokra osztjuk (így egy blokk a 0–3. cella, a 4–7. cella stb.). A memória mérete minden esetben néggyel osztható szám. A játékosok különböző módon manipulálhatják a memória celláit annak érdekében, hogy minél több pontot szerezzenek a játék végére. Minden elfoglalt cella egy pontot ér, ugyanakkor egy teljes blokk uralma plusz 4 pont jutalom. A játékot az nyeri, aki a legtöbb pontot szerzi, így az a cél, hogy minél több cellát foglaljunk, valamint minél több blokkot uraljunk. Ebben segít egy olyan taktika, mellyel a játék végéhez közeledve blokkokba gyűjtjük az általunk uralt, de szétszórt cellákat. Szerencsére a csere művelet bármely két cellára végrehajtható.

A bemenet specifikációja

A bemenet első sora egy N pozitív egész értéket tartalmaz, mely a memória méretét adja meg (4 ≤ N ≤ 1024). A következő sor egy pontosan N karakter hosszú sztringet tartalmaz, mely a memória aktuális állapotát írja le. Az általunk birtokolt cellákat az 'Y', a valamelyik ellenfél által birtokolt cellákat az 'N', a rendszercellákat az 'S', míg a szabad cellákat az 'F' karakter jelöli.

A kimenet specifikációja

A kimenet első sorába az a maximálisan megszerezhető pontszám kerüljön, melyet a jelenleg általunk birtokolt cellák átrendezésével érhetünk el! A kimenet további sorai a pontszám eléréséhez szükséges csere műveleteket írják le X Y formátumban, ahol X és Y az egy lépésben felcserélt cellák indexei!

1. példa bemenet

  1. 12
  2. NYYYSNSSYFFF
letöltés szöveges állományként

Az 1. példa bemenethez tartozó kimenet

  1. 8
  2. 0 8
letöltés szöveges állományként

2. példa bemenet

  1. 16
  2. YYNNYNSFYYYNYYNY
letöltés szöveges állományként

A 2. példa bemenethez tartozó kimenet

  1. 17
  2. 11 4
  3. 14 0
letöltés szöveges állományként

Forrás

A feladat a 2019-es Loxon Java Challenge játék alapján készült.

Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.