Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2021-05-13 16:03:39.
Revizia anterioară   Revizia următoare  

Ghidul de adaugare al problemelor interactive

Problemele interactive se folosesc de un program grader si de un program interactor. Atunci cand este evaluata problema pe infoarena, programul interactor este linkuit impreuna cu sursa voastra de catre programul connect (o scurta prezentare a programului connect)

Graderul si interactorul au in comun verdictele posibile de evaluare (enum Status) si o constanta pentru verificarea integritatii fisierului de iesire.
Exemplele de grader si interactor sunt folosite la problema cbinteractiv , cu exceptia constantei de verificare care este diferita.

Aceasta constanta de verificare a integritatii este necesara deoarece graderul si interactorul comunica la randul lor printr-un fisier care poate fi (dar nu ar trebui) sa fie accesat si de catre sursa concurentului. Pentru a combate aceasta posibila vulnerabilitate exista o solutie foarte usor de implementat, anume interactorul afiseaza un numar secret si verdictul sau in fisierul comun, iar graderul verifica daca numarul din fisier coincide cu numarul sau secret. Nu faceti graderele reale din probleme publice deoarece exista riscul ca cineva sa incerce sa le sparga.

Graderul comunica mai departe cu monitorul de evaluare prin stdout si stderr. Pe stdout el transmite punctajul, iar pe stderr transmite mesajul de evaluare.

Exemplele de grader, interactor si connect sunt incarcate in atasamentele acestei pagini.