Diferente pentru problema/interact intre reviziile #1 si #69

Diferente intre titluri:

interact
Interact

Diferente intre continut:

== include(page="template/taskheader" task_id="interact") ==
Poveste şi cerinţă...
Comisia are un şir secret $s$ format din $N$ (1 ≤ $N ≤ 100$ ) caractere mici ( $a - z$ ) ale alfabetului englez iar voi trebuie să ghiciti şirul. Aveti la dispozitie următoarele tipuri de operatii:
h2. Date de intrare
$? t$ - Este $t$ subsir in sirul secret $s$? Daca da, comisia va afişa $1$, altfel va afisa $0$. Lungimea lui $t$ nu trebuie sa depaseasca *100* de caractere.
$! str$ - Sirul secret este $str$. Aceasta operatie poate fi facuta o singura data, iar comisia va va rasplati corespunzator.
Fişierul de intrare $interact.in$ ...
*ATENŢIE: Fiecare operaţie trebuie afişată pe o linie nouă!*
h2. Date de ieşire
Formal, $t$ este subşir în $s$ dacă $t$ se poate obţine din $s$ eliminând 0 sau mai multe caractere şi păstrând ordinea relativă a caracterelor neeliminate. Spre ex: $for$, $if$, $arena$ sunt subisiruri ale sirului $infoarena$.
În fişierul de ieşire $interact.out$ ...
 
Puteti face maxim *6000* de operatii.
 
h2. Interactiune
 
Problema aceasta este 'interactiva':http://chiefcustomerofficer.eu/wp-content/uploads/2014/06/customerinteraction.jpg.
Pentru fiecare operatie veti proceda astfel: veti afisa la $stdout$ operatia si veti da $flush$ la $stdout$ (de exemplu cu $fflush(stdout)$ in $C$ sau cu $std::cout << std::flush$ în $C++$ ).
Apoi veti citi raspunsul la operatia voastra din $stdin$ :
 
*  $1$ sau $0$ in cazul in care operatia voastra a fost de tipul $? t$;
* $-1$ cand se inchide programul, si trebuie oprita executia acestuia (de exemplu $return 0$). Puteti primi $-1$ in 3 cazuri: fie ati ghicit sirul, fie nu l-ati ghiciti, fie ati afisat o operatie ce nu este valida.
h2. Restricţii
* $... &le; ... &le; ...$
* $1 &le; N &le; 100$
* $Pentru teste în valoare de 30 de puncte, N &le; 20$
* $Puteti folosi *o singura data* operatia ! str$
* $Daca nu opriti executia programului folosind return 0 dupa ce primiti răspunsul -1, evaluatorul va afisa mesajul KILLED BY SIGNAL 11$
* $*Dacă nu afişaţi caracterul newline '\n' după fiecare operaţie, evaluatorul va afisa mesajul WALL TIME LIMIT EXCEEDED*$
 
h2. Exemplu
table(example). |_. interact.in |_. interact.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
table(example). |_. stdout |_. stdin |_. Explicatie |
| ? a
| 1
| a este subir in sirul secret
|
| ? ba
| 0
| ba nu este subsir in sirul secret
|
| ? ac
| 1
| ac este subsir in sirul secret
|
| ? abc
| 1
| abc este subir in sirul secret
|
| ! abc
| -1
| ati incercat sa ghiciti sirul $abc$ si programul se termina
|
h3. Explicaţie
 
...
== include(page="template/taskfooter" task_id="interact") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.