Seif
시간 제한1초메모리 제한1024 MB
오른쪽에 숫자를 덧붙이거나 지우는 연산을 받으며 두 큰 수의 합에서 오른쪽 p번째 자릿수를 답한다.
문제
Arheoloogid leidsid merre uppunud laevalt seifi, millel on väga omapärane digitaalne lukk. Luku ekraanil on kaks ühepikkust täisarvu, mis aeg-ajalt muutuvad. Uurijad on märganud, et ekraani oleku muutusi on kolme liiki:
- kummalegi arvule lisandub paremale üks number;
- mõlemal arvul kustub paremalt mingi arv numbreid;
- ekraanile ilmub kolmas arv ja selle kõrvale ühe numbri suurune sisestusväli.
Uurijatel tekkis hüpotees, et seifi avamiseks tuleb sisestusvälja sisestada kahe suure arvu summast see number, mille positsiooni näitab kolmas arv. Kuna andmed ekraanil muutuvad käsitsi arvutamiseks liiga kiiresti, on nüüd vaja programmi, mis küsimustele vastaks.
Selle programmi põhikomponent on teek, mis reageerib seifi ekraanil toimuvatele sündmustele. Sinu ülesanne ongi kirjutada teek, mille järgnevaid funktsioone kutsutakse välja kokku korda:
Testimiskeskkonnas on näitefailid, kus vajalikud funktsioonid on juba kirjeldatud ja lahendusena on vaja kirjutada ainult nende realisatsioonid. Lisaks võib lahenduse faili kirjutada ka oma funktsioone. Oma lahenduse oma arvutis testimiseks on ka hindamisprogrammi näide, mille sisendi ja väljundi kirjeldus on toodud allpool (serveris on kasutusel teine hindamisprogramm, mis kontrollib ka lahenduse tagastatud vastuste õigsust). Oma lahenduse oma arvutis kompileerimiseks ja testimiseks:
입력
Tekstifaili esimesel real on teegi funktsioonide väljakutsete arv () ja järgmisel real igaühel ühe väljakutse kirjeldus:
- Rida kujul
1(, ) tähendab kutsetAdd(f, s). - Rida kujul
2() tähendab kutsetDel(k). - Rida kujul
3() tähendab kutsetGet(p).
출력
Tekstifaili väljastatakse hindamisprogrammi ja teegi vahelise suhtluse logi.