Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | paginatie.in, paginatie.out | Sursă | Algoritmiada 2012, Runda 3 |
Autor | Stefan Alexandru Filip | Adăugată de | |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 6144 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Paginatie
Redactia ziarului Nurda3 a primit recent de la reporterul lor favorit, Damia, un material despre efectele zapezii in Romania. Textul trimis de Damia este format din N cuvinte, fiecare pe cate un rand. Deoarece in ziar textul trebuie aranjat in pagina, redactia va cere ajutorul! Regulile de formatare sunt urmatoarele:
Fiecare pagina are x linii si y coloane. Pe fiecare linie, primul caracter de pe linie trebuie sa fie prima litera a unui cuvant, iar ultimul caracted de pe linie trebuia sa fie ultima litera a unui cuvant (presupunand ca pe un rand incap mai mult de doua cuvinte). Numarul de spatii dintre cuvintele dintr-o coloana este egal daca se poate, altfel cele de la inceput vor fi cu un caracter mai lungi. Paginile vor fi despartite printr-o linie goala.
Date de intrare
Pe prima linie a fisierului de intrare paginatie.in se dau doua numere intregi x,y reprezentand numarul de linii si numarul de pe coloane dintr-o pagina. Pe fiecare dintre urmatoarele linii ale fisierului de intrare se va gasi cate un cuvant.
Date de ieşire
În fişierul de ieşire paginatie.out trebuie sa afisati textul formatat in modul descris mai sus.
Restricţii
- 1 ≤ x,y ≤ 1 000
- Cuvintele sunt formatie din litere mici, litere mari, cifre sau simboluri.
- Fisierul de intrare va contine cel mult 300 000 cuvinte.
- Se cere solutia cu numar minim de randuri, si in caz de egalitate, cea minima din punct de vedere lexicografic. (caracterul ' ' se considera cel mai mare din codul ascii din punct de vedere lexicografic, celelalte caractere isi pastraza ordinea).
- Lungimea unui cuvant este maxim 50.
- Intotdeauna va exista solutie.
Exemplu
paginatie.in | paginatie.out |
---|---|
10 12 Nu este asa greu sa rezolvati aceasta problema! Este gheata pe sosele :( | Nu este asa greu sa rezolvati aceasta problema! Este gheata pe sosele :( |
Explicaţie
Daca vom nota spatiile cu caracterul '#', atunci textul va arata in urmatorul mod:
Nu##este#asa
greu######sa
rezolvati
aceasta
problema!
Este##gheata
pe#sosele#:(
bogdan2412: In exemplu baga
in loc de spatii ca sa apara toate