Arheologii au descoperit, printre alte vestigii ale unei civilizaţii dispărute, o reprezentare neobișnuită a numerelor pe care au denumit-o DREI. În reprezentarea DREI apar semne care au fost echivalate de arheologi cu literele mici din alfabetul englez. O reprezentare DREI este un șir de litere distincte care fie constă dintr-o singură literă, fie respectă următoarele două condiţii:
- litera maximă apare la unul dintre capete;
- şirul obţinut prin eliminarea literei maxime este o reprezentare DREI.
Primele douăsprezece reprezentări, corespunzătoare numerelor , , , , , , , , , , , sunt a
, ab
, b
, ba
, bac
, bc
, abc
, ac
, c
, ca
, cab
, cb
.
Să notăm cu cea mai mare literă din reprezentarea DREI .
Pentru a compara două reprezentări DREI notate cu şi respectiv aplicăm, în ordine, următoarele reguli:
- Dacă , atunci .
- Reprezentarea formată dintr-o singură literă este mai mare decât orice altă reprezentare care are aceeași literă maximă în capătul drept și este mai mică decât orice altă reprezentare care are aceeași literă maximă în capătul stâng.
- Dacă ambele reprezentări și au aceeași literă maximă poziţionată la capătul drept, atunci se elimină litera maximă din ambele reprezentări și se compară reprezentările obţinute (să le notăm și ). Dacă , atunci , respectiv dacă , atunci .
- Dacă ambele reprezentări și au aceeași literă maximă poziţionată la capătul stâng, atunci se elimină litera maximă din ambele și se compară reprezentările obţinute (să le notăm cu şi ). Dacă , atunci , respectiv dacă , atunci .
De exemplu:
edabc
edc
(se aplică mai întâi regula 4, apoi se comparădabc
cudc
; se aplică din nou regula 4 şi se comparăabc
cuc
, apoi se aplică regula 2);ab
b
ba
, conform regulii 2;abe
caf
, conform regulii 1;bac
cba
, conform regulii 2;bac
abc
(se aplică mai întâi regula 3, apoi se comparăba
cuab
, aplicând regula 2).
Cerință
Scrieţi un program care să determine răspunsurile pentru interogări de următoarele 4 tipuri:
Tip interogare | Răspuns |
---|---|
se afişează 1 dacă şirul este o reprezentare DREI, respectiv 0 în caz contrar |
|
se compară reprezentările DREI și şi se afişează -1 dacă , 0 dacă , respectiv 1 dacă |
|
se afişează cea de a -a reprezentare DREI | |
se afişează numărul de ordine al reprezentării DREI |
Date de intrare
Fişierul de intrare drei.in
conţine pe prima linie numărul natural reprezentând numărul de interogări.
Pe următoarele linii se află cele interogări, câte o interogare pe o linie, în formatul descris mai sus.
Date de ieșire
Fişierul de ieşire drei.out
va conţine linii. Pe linia va fi scris răspunsul pentru cea de a -a interogare din fișierul de intrare.
Restricții și precizări
- Șirurile de caractere care apar în interogări au lungimea cel mult egală cu .
- Reprezentările DREI sunt numerotate în ordine crescătoare începând cu .
# | Punctaj | Restricții |
---|---|---|
1 | 10 | Toate interogările sunt de tip 1 |
2 | 13 | Toate interogările sunt de tip 2 |
3 | 20 | Toate interogările sunt de tip 3 |
4 | 20 | Toate interogările sunt de tip 4 |
5 | 12 | Șirurile din interogări sau cele obținute ca rezultat al interogărilor de tip 3 conţin cel mult primele litere din alfabet și . |
6 | 25 | Fără restricții suplimentare |
Exemplu
drei.in
6
1 acb
1 abcd
1 xabby
2 bac abc
3 12
4 cb
drei.out
0
1
0
-1
cb
12