Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2019-01-12 16:08:21.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:interact.in, interact.outSursăFMI No Stress 8
AutorLucian BicsiAdăugată defminostress2018Fmi no stress 2018 fminostress2018
Timp execuţie pe test0.5 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Interact

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
stdout stdin Explicare
1 6 T si N
0 0 1 3 5 Interogare
0 Raspuns la interogare
0 4 5 1 3 Interogare
1 Raspuns la interogare
1
3
-1 0 -1 1 -1 -1
-1 2 -1 4 5 -1 va afisa 0. Lungimea lui t nu trebuie sa depaseasca 1000 de caractere.
! str - Sirul secret este str. Aceasta operatie poate fi facuta o singura data, iar comisia va va rasplati corespunzator.

Puteti face maxim 6000 de operatii.

Interactiune

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:

- LA UN QUERY - SIRUL DE QUERY ARE LUNGIME MAXIM 1000

- OPERATIA ! ESTE TOT UN QUERY SI SE NUMARA LA LIMITA DE 6000

- 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

Restricţii

  • 1 ≤ N ≤ 100
  • Pentru teste în valoare de 30 de puncte, N ≤ 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.

Exemplu

table(example). |_. stdout |_. stdin |_. Explicatie |
|  
| ? ba
| 3
| N = 3
| ? 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 |
|
Imaginile trebuie neaparat sa fie atasamente ale unei pagini.
| |
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?