Fişierul intrare/ieşire: | interact.in, interact.out | Sursă | FMI No Stress 8 |
Autor | Lucian Bicsi | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 262144 kbytes |
Scorul tău | N/A | Dificultate | N/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 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ă!
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 face maxim 6000 de operatii.
Interactiune
Problema aceasta este interactiva.
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.
Restricţii
- 1 ≤ N ≤ 100
- Pentru teste în valoare de 30 de puncte, N ≤ 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
Exemplu
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 |