Programozó versenyek

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

2024. december 1. 10:00 – 2024. december 1. 15:00

ACL

Sajnos akármennyire is próbálkoztunk, néhány AI bot bejutott a legbiztonságosabb szervereinkbe és elkezdtek a fájljaink között turkálni. Ki tudja, talán még a progverseny rangsorát is le tudják tölteni (amit tutira nem találtunk ki előre...khm-khm)! Szerencsére a rendszergazdáink figyeltek arra, hogy az érzékeny fájlokat és mappákat megfelelő jogosultságokkal lássák el, így a botok nem férhetnek hozzá mindenhez. A Ti feladatotok eldönteni, hogy mekkora kárt tudnak okozni a botok, azaz, hogy egy megadott mappához hozzáférnek-e.

Input

A bemenet egyetlen, sor vége jellel lezárt sorból áll az alábbiak szerint:

  • A sor első fele egy { }-el határolt listát tartalmaz, melynek tartalma az alábbiak szerint alakul:
    • Legfeljebb 255 darab, " "-el határolt string, melyek mindegyike "xyz_allow", vagy "xyz_deny" alakú, ahol az xyz rész egy mappa neve, vagy a * (ún. wildcard) karakter.
    • Az utolsó kivételével mindegyik string záró "-jelét pontosan egy vessző, majd egy szóköz követi. Az utolsó string záró "-jele után záró } található.
  • A sor második fele az előző rész záró } karakterétől pontosan egy szóköznyire kezdődik és egyetlen, " "-el határolt stringet tartalmaz.
Megjegyzés: a sor második felében szereplő string mondja meg, hogy melyik az a mappa amit az AI bot el szeretne érni.

Output

A kimenet az 1-es szám amennyiben az AI bot meg tudja nyitni a sor második részében megadott mappát és a 0-s szám ha nem. A bot egy mappát akkor tud megnyitni ha az a mappa "allow" státuszban van a listában (például "books_allow"), vagy ha a * karakter engedélyezi (azaz "*_allow"). Fontos azonban, hogy a * karaktert felülírják a specifikus bejegyzések (azaz például a "*_allow", "books_deny" azt jelenti, hogy mindent letölthet a "books"-on kívül). Továbbá a rendszergazdák néha figyelmetlenek, így előfordulhatnak ütköző bejegyzések, melyek közül a deny erősebb (azaz a "books_allow", "books_deny" esetén a deny érvényesül). Amennyiben a * karakternél fordul elő ütközés úgy az "*_deny"-ként értendő, melyet az előzőek értelmében természetesen felülírhatnak a specifikus bejegyzések.

Megjegyzés: a feladat mindig megoldható lesz, azaz nem lesznek eldönthetetlen esetek.

Példa

Input:
  1. {"*_allow", "books_allow", "movies_deny"} "games"
letöltés szöveges állományként Output:
  1. 1
letöltés szöveges állományként Input:
  1. {"*_allow", "*_deny", "movies_allow", "books_allow"} "games"
letöltés szöveges állományként Output:
  1. 0
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.