Profesorul Utecenescu le-a dat ca temă elevilor săi să genereze un string. El bănuieşte că unii elevi nu şi-au făcut singuri tema, ci au folosit un model de inteligenţă artificială numit CheatGPT.
CheatGPT porneşte de la un string $A$ de antrenament, iar pe baza acestuia generează un string $B$, după următoarele reguli:
* atât $A$ cât şi $B$ sunt formate exclusiv din litere mici ale alfabetului englez;
* primele două litere din $B$ reprezintă o secvenţă de două litere consecutive din $A$ aleasă aleator;
* la fiecare pas se adaugă o literă la şirul $B$ pe baza ultimelor două litere cu care acesta se termină; dacă şirul $B$ se termină cu literele $XY$, următoarea literă va fi aleasă aleator dintre literele care urmează după subşirurile $XY$ în şirul $A$;
* generarea se opreşte atunci când nu se mai pot adăuga litere sau atunci când şirul $B$ are dimensiunea dorită.
CheatGPT porneşte de la un string $A$ de antrenament, iar pe baza acestuia generează un string $B$, cu următoarele proprietăţi:
- atât $A$ cât şi $B$ sunt formate exclusiv din litere mici ale alfabetului englez;
- primele două litere din $B$ ($B[1]$, $B[2]$) reprezintă o secvenţă de două litere consecutive din $A$;
- pentru oricare două litere consecutive din $B$, $B[i]$ şi $B[i+1]$ cu excepţia ultimelor două, litera următoare $B[i+2]$ este aleasă dintre literele din $A$ care urmează după secvenţe de forma $B[i], B[i+1]$.
Dându-se string-ul $A$ pe care s-a antrenat CheatGPT şi string-ul $B$ care reprezintă tema unui elev, profesorul Utecenescu vrea să afle dacă string-ul $B$ este suspect (ar putea fi generat de către CheatGPT) sau este cu siguranţă original.
h2. Date de intrare
Fişierul de intrare $cheatgpt.in$ conţine pe prima linie numărul de teste $T$. Fiecare test este format din două linii, reprezentând şirurile $A$ şi $B$.
Fişierul de intrare $cheatgpt.in$ ...
h2. Date de ieşire
În fişierul de ieşire $cheatgpt.out$ se va tipări câte o linie pentru fiecare test. Dacă şirul $B$ este cu siguranţă original se va tiăpări textul $original$, altfel (dacă şirul $B$ poate fi format pe baza şirului $A$ pe baza regulilor de mai sus) se va tipări textul $suspect$.
În fişierul de ieşire $cheatgpt.out$ ...
h2. Restricţii
* $1 ≤ T ≤ 40$
* $3 ≤ |A|, |B| ≤ 1000$ (lungimea şirurilor $A$ şi $B$ este cuprinsă între 3 şi 1000)
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. cheatgpt.in |_. cheatgpt.out |
| 2
abcabdcbdab
abdab
abcd
bcad
| suspect
original
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
În primul exemplu, după subşirul $"ab"$ poate urma $'c'$ sau $'d'$, prin urmare a 3-a literă din $B$ ($'d'$) este aleasă conform regulilor. După $"bd"$ poate urma $'c'$ sau $'a'$, deci şi a 4-a literă din $B$ ($'a'$) este aleasă conform regulilor. După $"da"$ poate urma doar $'b'$, deci şi a 5-a literă din $B$ respectă regula.
În al doilea exemplu, după $"bc"$ poate urma doar $'d'$, în timp ce în şirul $B$ urmează $'a'$, deci în acest caz şirul $B$ este original.
...
== include(page="template/taskfooter" task_id="cheatgpt") ==