Un şir format din cifre trebuie să fie tastat în una sau mai multe sesiuni.
Există două tastaturi: tastatura A care conţine taste cu toate combinaţiile de exact două cifre: tasta 00, tasta 01, 02, …, 98, 99 și tastatura B care conţine taste cu toate combinaţiile de exact trei cifre: tasta 000, tasta 001, …, 998, 999. Cifrele se vor introduce în una sau mai multe sesiuni, pentru o sesiune putându-se folosi o singură tastatură. Datorită unei ordonanțe de urgență, dacă o combinație de taste a fost introdusă cu una din tastaturi în sesiunea curentă și, continuând sesiunea, această combinație poate fi introdusă din nou, este necesar să continuăm sesiunea cel puțin până când o vom introduce din nou. În cazul în care introducem până atunci și alte taste, trebuie să continuăm sesiunea până când vom introduce ultima apariție a lor.
Astfel, dacă şirul este început folosind tastatura A, se va scrie obligatoriu într-o sesiune 25 52 22 25 52. Suntem obligați să tastăm până la ultima apariție a tastei 25 în sesiunea curentă, și când folosim tasta 52 suntem obligați să continuăm până la ultima apariție a acesteia. A se observa că cifrele de pe pozițiile subliniate sunt tot 2 și 5, însă nu formează o tastă care se poate apăsa în sesiunea curentă. Deoarece se dorește un număr cât mai mare de sesiuni, se va începe o nouă sesiune în care se va scrie doar 57.
Cerinţă
Cunoscându-se numărul total de cifre și secvența de cifre ce formează şirul, să se determine o modalitate de a despărţi textul astfel încât el să poată fi scris într-un număr maxim de sesiuni.
Date de intrare
Din fișierul text.in se citesc:
- de pe prima linie un număr natural
Nreprezentând numărul de cifre - de pe următoarea linie
Ncifre, scrise fără spații, reprezentând şirul de tastat
Date de ieşire
În fișerul text.out se afișează:
- pe prima linie
S, reprezentând numărul maxim de sesiuni - pe fiecare dintre următoarele
Slinii, câte două numerep, k, scrise cu spaţiu între ele, fiecare astfel de pereche descriind, în ordinea în care apar în text, secvențele tipărite în sesiuni: – poziția din șirul de cifre dat unde începe sesiuneaiși – tipul de tastatură folosită în sesiuneai(2pentru tastaturaA,3pentru tastaturaB)
Restricţii
3 ≤ N ≤ 1 000 000- cifrele din secvență sunt între
0și9 - testele propuse asigură existența unei soluții pentru cerința dată
- dacă există mai multe soluții, se va furniza oricare dintre ele.
- pentru numărul corect de sesiuni, fără liniile care descriu soluția completă și corectă se acordă
50%din punctaj.
Exemple
text.in
15
233323333333322
text.out
5
1 3
4 2
6 3
12 2
14 2
Explicație
Şirul poate fi scris în maximum 5 sesiuni astfel: 233 32 333 333 33 22
- prima sesiune, începe cu prima cifră și foloseşte tastatura
B(cu taste de3cifre) - următoarea sesiune începe la cifra a
3-a și foloseşte tastaturaA - a treia sesiune începe la cifra a
6-a și foloseşte tastaturaB - a patra sesiune începe la cifra a
12-a și foloseşte tastaturaA - ultima sesiune începe la cifra a
14-a și foloseşte tastaturaA
text.in
8
46234623
text.out
3
1 3
4 2
6 3
Explicație
Soluția corespunde secvenţelor 462 34 623