Natașa este o pisică foarte vorbăreață: ea poate pronunța toate vocalele (a, e, i, o, u) și consoana m. Am observat că mesajul pe care Natașa încearcă să mi-l transmită este o secvență dintr-o “frază” scrisă în limbaj pisicesc, care are un număr maxim de apariţii în frază. Dacă există mai multe secvențe cu număr maxim de apariții, mesajul este secvența cu lungimea cea mai mare. Iar în cazul în care există mai multe secvențe cu același număr maxim de apariții și aceeași lungime maximă, mesajul este prima dintre ele în ordine lexicografică. Pentru a interpreta cât mai corect mesajele Natașei, este necesar un program care să analizeze o “frază” în limbaj pisicesc.
Cerința
Scrieți un program care citește un șir de caractere, ce reprezintă o frază în limbaj pisicesc și rezolvă următoarele cerințe:
1. determină numărul de vocale distincte existente în frază;
2. determină de câte ori apare secvența mau în frază;
3. determină mesajul transmis de Natașa, conform regulilor de mai sus.
Date de intrare
Fișierul de intrare pisicesc.in conține pe prima linie un număr natural C reprezentând cerința care trebuie rezolvată (1, 2 sau 3), iar pe a doua linie, un şir de caractere format doar din litere mici (vocale şi consoana m), reprezentând o “frază” în limbaj pisicesc.
Date de ieșire
Fișierul de ieșire pisicesc.out conține o singură linie pe care se află:
• dacă C = sau C = 2: un număr natural reprezentând răspunsul la cerința C;
• dacă C = 3: un şir de caractere reprezentând mesajul din frază.
Restricții și precizări
2 ≤ numărul de litere din frază ≤ 2.000- O secvenţă este constituită din două sau mai multe litere, situate în frază pe poziţii consecutive; lungimea secvenței este egală cu numărul de litere din secvență.
- Secvenţa \( {a}_{1}{a}_{2}…{a}_{n} \) este mai mică din punct de vedere lexicografic decât secvenţa \( {b}_{1}{b}_{2}…{b}_{n} \) dacă există
k ≥ 1astfel încât \( {a}_{i} = {b}_{i} \), pentru1 ≤ i < kşi \( {a}_{k} < {b}_{k} \). - Pentru 36 de puncte,
C = 1 - Pentru 27 de puncte,
C = 2 - Pentru 12 de puncte,
C = 3și2 ≤ numărul de litere din frază ≤ 200 - Pentru 25 de puncte,
C = 3, fără restricții suplimentare
Exemplul 1:
pisicesc.in
1 mamimamamoimami
pisicesc.out
3
Explicație
C = 1. Şirul conţine 3 vocale distincte (a, i, o).
Exemplul 2:
pisicesc.in
2 mamaumiaummau
pisicesc.out
2
Explicație
C = 2. Secvența mau apare de două ori în frază.
Exemplul 3:
pisicesc.in
3 mamimamamoimami
pisicesc.out
mam
Explicație
C = 3. Secvenţele mam, am şi ma au număr maxim de apariţii (4). Dar secvenţa mam are lungimea 3, mai mare decât a secvenţelor ma şi am care au lungimea 2.