Feladat: I/S.13 Korcsoport: - Nehézségi fok: -
Füzet: 2016/december, 555. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

A rendőrség már hónapok óta figyel egy veszélyes bűnözőt. A megfigyelés során összesen N fontos helyen bukkant fel, és megfigyelték, hogy ha egy adott helyen van, akkor vagy taxival megy tovább, vagy gyalogol, viszont utóbbi esetben mindig ugyanarra. Tehát ha az i-edik helyről gyalog megy tovább, akkor mindig egy adott Bi helyen fog legközelebb felbukkanni.
A mai napra elég bizonyíték gyűlt össze ellene, így elhatározták, hogy letartóztatják. A kapcsolatai révén erről biztosan értesült a bűnöző, így semmiképpen sem fog taxival menni, mivel a taxisok feladhatják a rendőrségnek, vagyis gyalog fog menekülni. A rendőrök sajnos nem ismerik a bűnöző mostani helyzetét, viszont elkezdték visszanézni az N fontos hely biztonsági kameráit. Bíznak benne, hogy hamarosan az egyik kamera felvételein megtalálják. Addig is minket kértek meg, hogy mind az N helyszínre dolgozzunk ki egy ,,elfogási tervet''. Az elfogási terv az i-edik helyszín esetén egy olyan Qi helyre vezényli ki a rendőröket, hogy ha az i-edik helyen járt a bűnöző és ezután csak gyalog haladt (a kifigyelt mintát követve), akkor akármilyen régi is a felvétel, biztosan fel fog még bukkanni a Qi helyen. Írjunk programot, ami a megfigyelés eredménye alapján minden helyre megad egy elfogási tervet.
A standard bemenet első sora a helyek N számát, a következő sor pedig N egész számot tartalmaz, az i-edik szám a fent említett Bi érték.
A standard kimenet első és egyetlen sora N egészet tartalmazzon, az i-edik szám az i-edik pontra kidolgozott elfogási tervben szereplő Qi hely sorszáma legyen. Több megoldás esetén bármelyik megadható.
Korlátok: 1N106, 1Bi, QiN. Időlimit: 0,1 mp. Memórialimit: 256 MB. A verem (stack) méretére nincs külön korlát, de a teljes memórialimitbe számít bele.
Minta:

 
Bemenet  Kimenet  2   2 22 2   
 

Magyarázat: a menekülési útvonalak az alábbiak:
1-es pont: 1222...
2-es pont: 222...
Pontozás és korlátok: a programhoz mellékelt, a helyes megoldás elvét tömören, de érthetően leíró dokumentáció 1 pontot ér. A programra akkor kapható meg a további 9 pont, ha bármilyen hibátlan bemenetet képes megoldani a fenti korlátoknak megfelelően.
Beküldendő egy tömörített is13.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.