Programozó versenyek

Programozási nyelvek 2, 2020. december 29., K10 ZH

2020. december 29. 10:00 – 2020. december 29. 11:40

Kategorizálás

A kategorizálás egy mindennapos emberi tevékenység, amely az úton-útfélen megtapasztalt újdonságok rendszerezését szolgálja. Amikor kategorizálunk, akkor bizonyos tulajdonságok meglétére figyelünk, és amennyiben elegendő jelét látjuk az adott tulajdonság meglétének, besoroljuk az illető dolgot az adott kategóriába.

Írjon programot, amely a standard bemenet legelső sorából beolvas egy egész számot! Ez a szám a soron következő feladatok darabszámát jelzi. Minden feladat két részből áll: a lehetséges kategóriák felsorolásából, majd a kategorizálandó dolgot leíró szövegből. A feladat végét egy üres sor jelzi, mely a kategorizálandó szöveget követi. A kategóriákat a következő alakú sorok írják le:

kategórianév: sztring[ sztring]…

Itt a kategórianév egy egyedi azonosító, míg az ehhez a kategóriához tartozó sztringek egymástól különböző betűsorozatok. A bemeneten csak a kategóriákat leíró sorokban fordulhatnak elő kettőspont karakterek.

A feladat második része maga a kategorizálandó szöveg. Ez több sorból is állhat. A sorokban a szavakat egy-egy szóköz karakter választja el egymástól. A szöveg és egyúttal az adott feladat végét egy üres sor jelzi.

Egy szöveget akkor sorolhatunk egy adott kategóriába, ha tartalmazza az összes olyan szót, amellyel a kategóriát jellemeztük.

A programjának minden szöveg feldolgozását követően a standard kimenetre kell írnia, hogy az adott szöveget mely kategóriákba sikerült besorolnia. Ha egy szöveg egyidejűleg több kategóriába is besorolható, akkor ezeket a kategóriákat a kimeneten egy-egy szóközzel elválasztva, lexikografikusan növekvő sorrendben kell kiírni egy sorba. Ha a szöveg egyik kategóriába sem sorolható be, akkor kategórianevet nem, csak egy üres sort kell a standard kimenetre írni. A pontos formátumhoz lásd a példa kimenetet!

Példa bemenet

  1. 3
  2. Zoldseg: repa retek
  3. Gyumolcs: alma barack korte
  4. alma dio kaposzta
  5. retek barack burgonya karalabe
  6. sparga repa korte mak
  7. Muvelet: osszeadas kivonas szorzas osztas
  8. integralas osszeadas differencialas kivonas gyokvonas szorzas
  9. Bolygo: Merkur Venusz Fold Mars Jupiter Szaturnusz Uranusz Neptunusz Pluto
  10. Torpe: Szende Szundi Tudor Vidor Hapci Morgo Kuka
  11. Almos Merkur hetfo Szende Elod kedd Szundi Ond szerda
  12. Tudor Kond csutortok Fold Vidor Tas pentek Hapci Huba szombat Morgo
  13. Tohotom vasarnap Kuka Pluto
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Gyumolcs Zoldseg
  2. Torpe
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.