Programozó versenyek

Magas szintű programozási nyelvek 1, 2018. március 27., K12 ZH

2018. március 27. 12:15 – 2018. március 27. 14:00

Póker

A póker a legnépszerűbb és legismertebb kártyajátékok egyike. A pókerben a játékosnak az a célja, hogy a birtokában lévő kártyalapokból a lehető legjobb kombinációt kihozva elvigye az asztal közepén lévő kasszát (angolul pot-ot). A játékot francia kártyával játsszák. Az egyes kártyalapokat a színük és értékük különbözteti meg egymástól, a pakliban (elvileg) nincs két olyan lap, amelynek egyszerre egyezne meg a színe és az értéke.

A színsor eredetén sok tudós törte már a fejét, de csak a találgatásokig jutottak el. A legnagyobb valószínűsége annak az elméletnek van, amely szerint a színek háborús értelműek. A kőr (coeur) – vagyis a szív – a bátorság jelképe volt, a harcos katonát jelentette. A pikk (pique) a régi lándzsa ásószerű végződését akarta ábrázolni, a káró (carreau) pedig annak a súlyos dárdának a négyszögletes vasvége volt, amelyet a lőpor feltalálása előtt hajítógépből zúdítottak az ellenségre. Végül a treff (trefle), vagyis lóhere, arra a takarmányra utalt, amely nélkül a lovasság nem tudott háborúskodni. Tehát ha maga a kártya nem is, a színei francia eredetűek. Bár mára már ezek az egykor tényként kezelt adatok a történelem homályába merültek, talán mégis érdemes volt felidézni őket, és megtudni, hogy mi a története az „ördög bibliájának”. (Forrás: https://archivum.ujszo.com/cimkek/nagyszunet/2004/05/11/kor-pikk-treff-es-karo.)

Írjon programot, amely a standard bemenetről állományvégjelig (EOF-ig) sztringeket olvas be! A soronként beolvasott sztringek mindegyike pontosan 14 karakter hosszú, melyben 4 darab szóköz karakter választ el egymástól 5 darab kétkarakteres részsztringet. A kétkarakteres részsztringek kártyalapok színét és értékét írják le.

A kártyák színét a következő betű karakterek szimbolizálják, a mi esetünkben most a kártyák színeinek angol elnevezése alapján: C (clubs, treff), D (diamonds, káró), H (hearts, kőr) és S (spades, pikk). Az értékek a következők lehetnek: 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K, A.

A programjának minden beolvasott sor esetén el kell döntenie, hogy az ott megadott kártyalapok pókert alkotnak-e. Az öt lap akkor alkot pókert, ha közülük négy azonos értékű, ám különböző színű, ahogyan az például az alábbi ábrán is látható (itt egy király értékű lapokból álló pókert látunk):

Ha az adott lapok pókert alkotnak, akkor a programjának a „Poker” szót, ellenkező esetben a „Not poker” sztringet kell a kimenetre írnia.

Példa bemenet

  1. HT HJ HQ HK HA
  2. C4 C5 C6 C7 C8
  3. SK HK CK DK S3
  4. HT ST DT SA CA
  5. C8 S8 S7 D8 H8
  6. HJ DJ SJ D4 CJ
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Not poker
  2. Not poker
  3. Poker
  4. Not poker
  5. Poker
  6. Poker
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.