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

Nu exista diferente intre titluri.

Diferente intre continut:

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:
$? 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 *1000* de caractere.
$? 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.
*ATENŢIE: Fiecare operaţie trebuie afişată pe o linie nouă!*
Puteti face maxim *6000* de operatii.
 
h2. Interactiune
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$.
Problema aceasta este interactiva. Initial veti putea citi de la $stdin$ numarul $N$ reprezentand lungimea sirului secret.
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 cititi raspunsul la operatia voastra din $stdin$ ($1$ sau $0$ in cazul in care operatia voastra a fost de tipul $? t$ *SAU* $-1$ cand se inchide programul (OK sau cu eroare). Cand primiti -1 de la comisie, trebuie sa opriti executia programului (de exemplu $return 0$).
DE ADAUGAT IN ENUNT:
Puteti face maxim *6000* de operatii.
- LA UN QUERY - SIRUL DE QUERY ARE LUNGIME MAXIM 1000
h2. Interactiune
- OPERATIA ! ESTE TOT UN QUERY SI SE NUMARA LA LIMITA DE $6000$
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$ :
- DE FACUT DE ASA NATURA CAND INTERACTIUNEA SE OPRESTE SA AFISAM UN TOKEN GEN "OK / BAD"
^
\--- COMISIA AFISEAZA -1 CAND SE INCHIDE PROGRAMUL (OK SAU EROARE). CONCURENTUL TRE SA DEA RETURN LA PRIMUL -1 INTALNIT
*  $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
* $1 &le; N &le; 100$
* $Pentru teste în valoare de 30 de puncte, N &le; 20$
* Puteti folosi *o singura data* operatia $! str$ !!!
* 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$.
* $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). |_. stdout |_. stdin |_. Explicatie
| aaa
  ? a
  ? ba
  ? ac
  ? abc
  ! abc
| 3
  1
  0
  1
  1
  -1
| N = 3
  a este subir in sirul secret
  ba nu este subsir in sirul secret
  ac este subsir in sirul secret
  abc este subir in sirul secret
  abc este chiar sirul secret!
 
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
|
== include(page="template/taskfooter" task_id="interact") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.