text

Time limit: 0.1s Memory limit: 64MB Input: text.in Output: text.out

Alexandra citește un text format din litere mici și mari ale alfabetului englez și spații. Fiind interesată de criptografie, ea elimină toate spațiile și apoi încadrează literele, în ordinea în care acestea apar în text, într-un tablou bidimensional, în care numărul de linii este mai mic sau egal decât numărul de coloane. Întrucât pot exista mai multe moduri de încadrare a textului, Alexandra îl alege pe cel pentru care diferența absolută dintre numărul liniilor și al coloanelor tabloului este minimă. Completarea cu literele textului a tabloului bidimensional se face în ordinea crescătoare a liniilor și în cadrul fiecărei linii, în ordinea crescătoare a coloanelor.

Cerință

  1. Notând cu NN numărul de linii și cu MM numărul de coloane ale tabloul bidimensional obținut, afișați elementele acestuia pe primele NN linii ale fișierului de ieșire, fiecare linie conținând exact MM litere fără spații între ele. Afișarea se va face în ordinea crescătoare a indicilor liniilor și pe fiecare linie în ordinea crescătoare a indicilor coloanelor.
  2. Determinați cel mai lung palindrom de pe o linie sau de pe o coloană a tabloului obținut. În cazul în care există mai multe palindromuri de aceeași lungime, se va afișa cel care este cel mai mare din punct de vedere lexicografic conform codului ASCII.
  3. Determinați care este numărul maxim de elemente dintr-un subtablou dreptunghiular, ce conține doar vocale.

Date de intrare

Datele de intrare se citesc din fișierul text.in, care are următoarea structură:

  • pe prima linie se află numărul natural CC care poate avea doar valorile 1,21, 2 sau 33, semnificând numărul cerinței de rezolvat;
  • pe a doua linie se află textul pe care îl va prelucra Alexandra.

Date de ieșire

Datele de ieșire se vor afișa în fișierul text.out, care are următoarea structură:

  • dacă C=1C = 1, NN linii, fiecare conținând câte MM litere, repezentând elementele tabloului obținut;
  • dacă C=2C = 2, o singură linie conținând cel mai lung palindrom determinat;
  • dacă C=3C = 3, o singură linie conținând un număr natural reprezentând numărul de elemente din subtabloul determinat.

Restricții și precizări

  • 22 \leq numărul total de caractere din textul inițial al Alexandrei 200 000\leq 200 \ 000;
  • vocalele sunt: A, E, I, O, U, a, e, i, o, u
  • se garantează că NN, numărul de linii ale tabloului obținut este >1> 1
  • Pentru 1616 puncte, C=1C = 1 și numărul de caractere din șirul inițial 10 000\leq 10 \ 000;
  • Pentru 3636 puncte, C=2C = 2 și numărul de caractere din șirul inițial 1 000\leq 1 \ 000;
  • Pentru 1616 puncte, C=3C = 3 și numărul de caractere din șirul inițial 1 000\leq 1 \ 000;
  • Pentru 1616 puncte, C=3C = 3 și numărul de caractere din șirul inițial 50 000\leq 50 \ 000;
  • Pentru 1616 puncte, C=3C = 3, fără restricții suplimentare

Exemplul 1

text.in

1
Ana nu are mere

text.out

Anan
uare
mere

Explicație

Numărul de caractere după eliminare spațiilor este 1212. Textul plasat în tablou conține N=3N=3 linii și M=4M = 4 coloane.

Exemplul 2

text.in

1
A fost odata ca niciodata

text.out

Afostod
atacani
ciodata

Explicație

Numărul de caractere după eliminare spațiilor este 2121. Textul plasat în tablou conține N=3N = 3 linii și M=7M = 7 coloane.

Exemplul 3

text.in

2
A fost odata ca niciodata

text.out

oao

Explicație

Afostod\text{Afostod}
atacani\text{atacani}
ciodata\text{ciodata}
Tabloul are pe coloana 33 palindromul oao iar pe liniile 22 și 33 palindromul ata.

Exemplul 4

text.in

3
Aceasta oaie e alba

text.out

6

Explicație

Acea\text{Ac\textcolor{blue}{ea}}
stao\text{st\textcolor{blue}{ao}}
aiee\text{ai\textcolor{blue}{ee}}
alba\text{alba}

Log in or sign up to be able to send submissions!