Sunteți pe pagina 1din 2

Ministerul Educaiei i Cercetrii tiinifice

Olimpiada de Informatic - LICEU - etapa naional


Trgovite, Dmbovia, 3-8 aprilie 2015
Ziua 1
Sursa :text.pas, text.cpp, text.c

Clasele XIXII

Problema 3 - text

100 puncte

Un ir format din cifre trebuie s fie tastat n una sau mai multe sesiuni.
Exist dou tastaturi: tastatura A care conine taste cu toate combinaiile de exact dou cifre:
tasta 00, tasta 01, 02, , 98, 99 i tastatura B care conine taste cu toate combinaiile de exact trei cifre:
tasta 000, tasta 001, , 998, 999. Cifrele se vor introduce n una sau mai multe sesiuni, pentru o sesiune
putndu-se folosi o singur tastatur. Datorit unei ordonane de urgen, dac o combinaie de taste a
fost introdus cu una din tastaturi n sesiunea curent i, continund sesiunea, aceast combinaie poate
fi introdus din nou, este necesar s continum sesiunea cel puin pn cnd o vom introduce din nou. n
cazul n care introducem pn atunci i alte taste, trebuie s continum sesiunea pn cnd vom
introduce ultima apariie a lor.
Astfel, dac irul 255222255257 este nceput folosind tastatura A, se va scrie obligatoriu ntr-o
sesiune 25 52 22 25 52 . Suntem obligai s tastm pn la ultima apariie a tastei 25 n sesiunea
curent, i cnd folosim tasta 52 suntem obligai s continum pn la ultima apariie a acesteia. A se
observa c cifrele de pe poziiile subliniate sunt tot 2 i 5, ns nu formeaz o tast care se poate apsa
n sesiunea curent. Deoarece se dorete un numr ct mai mare de sesiuni, se va ncepe o nou sesiune
n care se va scrie doar 57.
Cerin

Cunoscndu-se numrul total de cifre i secvena de cifre ce formeaz irul, s se determine o


modalitate de a despri textul astfel nct el s poat fi scris ntr-un numr maxim de sesiuni.
Date de intrare
Din fiierul text.in se citesc:
- de pe prima linie un numr natural N reprezentnd numrul de cifre
- de pe urmtoarea linie N cifre, scrise fr spaii, reprezentnd irul de tastat
Date de ieire
n fierul text.out se afieaz:
- pe prima linie S, reprezentnd numrul maxim de sesiuni
- pe fiecare dintre urmtoarele S linii, cte dou numere p, k, scrise cu spaiu ntre ele, fiecare astfel de
pereche descriind, n ordinea n care apar n text, secvenele tiprite n sesiuni: p i poziia din irul
de cifre dat unde ncepe sesiunea i i ki tipul de tastatur folosit n sesiunea i (2 pentru tastatura A,
3 pentru tastatura B)
Restricii

3N1 000 000


cifrele din secven sunt ntre 0 i 9
testele propuse asigur existena unei soluii pentru cerina dat
dac exist mai multe soluii, se va furniza oricare dintre ele.
pentru numrul corect de sesiuni, fr liniile care descriu soluia complet i corect
se acord 50% din punctaj.

Ministerul Educaiei i Cercetrii tiinifice


Olimpiada de Informatic - LICEU - etapa naional
Trgovite, Dmbovia, 3-8 aprilie 2015
Ziua 1
Sursa :text.pas, text.cpp, text.c

Clasele XIXII

Exemple
text.in
15
233323333333322

text.out
5
1 2
3 3
6 3
9 2
13 3

Explicaie
irul poate fi scris n maximum 5 sesiuni astfel: 23 332
333 33 33 322
- prima sesiune, ncepe cu prima cifr i folosete tastatura A
(cu taste de 2 cifre)
- urmtoarea sesiune ncepe la cifra a 3-a i folosete
tastatura B
- a treia sesiune ncepe la cifra a 6-a i folosete tastatura B
- a patra sesiune ncepe la cifra a 9-a i folosete tastatura A
- ultima sesiune ncepe la cifra a 13-a i folosete tastatura B

8
46234623

3
1 3
4 2
6 3

Soluia corespunde secvenelor 462 34 623

Timp maxim de executare: 0.4 secunde pe Windows / 0.2 secunde pe Linux


Memorie total: 64MB
Dimensiunea maxim a sursei: 20KB

S-ar putea să vă placă și