|
Eredménytábla-rekonstrukció
A ProgCont fejlesztői a rendszer egy új verzióján dolgoznak. A szoftver még kezdeti fázisban
van, ezért meglehetősen szűk válaszokat ad a kiértékelések során: mindössze annyit közöl a
versenyzőkkel, hogy a megoldásuk el lett-e fogadva vagy sem. Sajnos az első bevetésén egy
megmagyarázhatatlan hiba történt: összeomlott az eredménytábla. Segíts a szervezőknek abban,
hogy a beküldések adataiból rekonstruálni tudják a verseny alakulását egy-egy lekérdezés
kiadásával!
A bemenet specifikációja
A bemenet első sorában szerepel a beküldések S, valamint a lekérdezések Q
darabszáma (1 ≤ S ≤ 5 000,
1 ≤ Q ≤ 10 000). Ezt pontosan S darab
olyan sor követi, mely egy-egy beküldés adatait tartalmazza. Ezek a sorok legfeljebb 50
karakter hosszúak, és a következő adatokat tartalmazzák egy-egy szóközzel elválasztva:
-
a feltöltő csapat neve (szóközöktől mentes sztring),
-
a kiválasztott feladat azonosítója (szóközöktől mentes sztring),
-
a verseny kezdete óta eltelt percek száma (nemnegatív egész, legfeljebb 299),
-
a tesztelés eredménye („
true ” vagy
„false ” attól függően, hogy a megoldás elfogadásra került-e vagy
sem).
A bemenet utolsó Q sora egy-egy lekérdezés paramétereit tartalmazza
időpont csapat formában, ahol az időpont a lekérdezés ideje a verseny
kezdete óta eltelt percek számában kifejezve, míg a csapat a lekérdezendő csapat
azonosítója.
A kimenet specifikációja
A program minden lekérdezés esetében állapítsa meg, hogy a benne szereplő csapat a megadott
időpillanatban milyen adatokkal jelent meg a verseny eredménytábláján! Ezek a sorok a példa
kimenetben látható formátumban tartalmazzák
-
a lekérdezésben szereplő csapat azonosítóját,
-
a verseny kezdete óta a lekérdezés időpontjáig eltelt percek számát,
-
a csapat által a lekérdezés időpontjáig megoldott feladatok számát,
-
a beküldési időkből és a sikertelen próbálkozások számából adódó büntetőidőt a
lekérdezés időpontjában,
-
valamint a csapat helyezését a lekérdezés időpontjában.
Megjegyzések
-
A csapatok rangsorolása, valamint a büntetőidők megállapítása egy egyszerűsített
szabállyal történik. Két csapat közül az végez előrébb, amelyik több feladatra töltött
fel helyes megoldást. Azonos sikerességi mutató esetén az a csapat kerül előrébb, aki
kevesebb büntetőpontot szerzett. Amennyiben a büntetőidők is megegyeznek, úgy az első
elfogadott megoldást hamarabb feltöltő csapat ér el jobb helyezést.
-
Büntetőidőt akkor kap egy csapat egy adott feladat vonatkozásában, ha sikeresen
megoldotta azt. A büntetőidő ilyenkor a verseny kezdete óta a helyes megoldás beküldéséig
eltelt percek száma, plusz annyiszor 20 perc, ahány hibás próbálkozása volt korábban a
csapatnak az adott feladatra. Egy csapat teljes büntetőideje az egyes feladatokhoz
tartozó büntetőidők összege.
-
Holtverseny nem alakul ki. A lekérdezésekben csak olyan csapatnevek szerepelnek, akik
töltöttek is fel megoldást. Az elfogadott megoldással nem rendelkező csapatok helyezés
nélkül jelennek meg (lásd a példa kimenetet).
-
A lekérdezések időpontjai zárt intervallumot jelölnek ki, vagyis a T. percre
kiadott lekérdezésekben már szerepelnek a T. percben feltöltött megoldások. A
feladatban szereplő összes időpont a [0, 299] intervallumból származik. Egy csapat
egy perc alatt több megoldást is feltölthet, és egyetlen csapat sem foglalkozik tovább
egy feladattal azután, hogy egy megoldása elfogadásra került.
Példa bemenet
7 9 TeamC D 40 true TeamA A 10 false TeamB B 40 false TeamA A 15 false TeamA A 17 true TeamD A 20 false TeamE A 13 false 0 TeamA 10 TeamA 15 TeamA 17 TeamA 299 TeamA 299 TeamB 299 TeamC 299 TeamD 299 TeamE
letöltés szöveges állományként
A példa bemenethez tartozó kimenet
TeamA (0): 0 0 - TeamA (10): 0 0 - TeamA (15): 0 0 - TeamA (17): 1 57 #1 TeamA (299): 1 57 #2 TeamB (299): 0 0 - TeamC (299): 1 40 #1 TeamD (299): 0 0 - TeamE (299): 0 0 -
letöltés szöveges állományként
|
|