Ghidul de adăugare al problemelor interactive

Problemele interactive se folosesc de un program grader şi de un program interactor. Atunci când este evaluată problema pe infoarena, programul interactor este linkuit împreună cu sursa voastră de către programul connect (o scurtă prezentare a programului connect)

Graderul şi interactorul au în comun verdictele posibile de evaluare (enum Status) şi o constanta pentru verificarea integrităţii fişierului de ieşire.
Exemplele de grader şi interactor sunt folosite la problema cbinteractiv , cu excepţia constantei de verificare care este diferită.

Această constanta de verificare a integrităţii este necesară deoarece graderul şi interactorul comunica la rândul lor printr-un fişier care poate fi (dar nu ar trebui) să fie accesat şi de către sursa concurentului. Pentru a combate această posibilă vulnerabilitate există o soluţie foarte uşor de implementat, anume interactorul afişează un număr secret şi verdictul său în fişierul comun, iar graderul verifică dacă numărul din fişier coincide cu numărul sau secret. Nu faceţi graderele reale din probleme publice deoarece există riscul ca cineva să încerce să le spargă.

Graderul comunică mai departe cu monitorul de evaluare prin stdout şi stderr. Pe stdout el transmite punctajul, iar pe stderr transmite mesajul de evaluare.

Exemplele de grader, interactor şi connect sunt încărcate în ataşamentele acestei pagini.