Un copil dorește să găsească un mod original de a-și codifica numele și folosește în acest scop o figură formată doar din triunghiuri, desenată pe o foaie de hârtie. El plasează fiecare literă din numele său, în câte un triunghi. Dacă numele lui este DARIUS
, atunci foaia de hârtie va arăta ca în figura . Pe primul rând așează prima literă, pe al doilea rând următoarele trei litere, pe al treilea rând următoarele cinci litere, și așa mai departe până când așează toate literele din nume. Dacă numele nu are suficiente litere, copilul folosește caracterul *
pentru a completa ultimul rând pe care pe care a așezat litere. Nemulțumit că numele poate fi citit relativ ușor, răstoarnă figura, rotind foaia de hârtie, în sensul acelor de ceasornic, obținând astfel figura .
Cerință
Cunoscând literele numelui, scrieți un program care determină și afișează în fișierul de ieșire:
- Numărul de caractere
*
pe care trebuie să le utilizeze pentru a completa ultimul rând; - Prima literă de pe fiecare rând din figura inițială;
- Șirul literelor de pe fiecare rând, după rotirea foii de hârtie.
Date de intrare
Fișierul de intrare litere.in
conține pe prima linie un număr natural reprezentând cerința din problemă care trebuie rezolvată, pe a doua linie un număr natural , reprezentând numărul de litere din nume. Pe a treia linie din fișier se află numele copilului format din litere, majuscule din alfabetul englez. Literele sunt separate între ele prin câte un spațiu.
Date de ieșire
Dacă valoarea lui este , fișierul de ieșire litere.out
va conține un număr natural, reprezentând numărul de caractere * din figură.
Dacă valoarea lui este , fișierul de ieșire litere.out
va conține, pe o singură linie, un șir de litere, separate între ele prin câte un spațiu, format din prima literă de pe fiecare rând al figurii, înainte de rotirea sa, începând cu primul rând până la ultimul.
Dacă valoarea lui este , fișierul de ieșire litere.out
va conține literele obținute după rotirea figurii inițiale, afișarea făcându-se în ordine de sus în jos, iar în cadrul unui rând, în ordine de la stânga la dreapta. Fiecare rând de litere va fi afișat în fișier pe câte o linie, iar literele situate pe același rând vor fi separate între ele prin câte un spațiu.
Restricții și precizări
- ;
- Pentru rezolvarea corectă a cerinței se acordă puncte, pentru rezolvarea corectă a cerinței se acordă de puncte, iar pentru rezolvarea corectă a cerinței se acordă de puncte.
Exemplul 1
litere.in
1
6
D A R I U S
litere.out
3
Explicație
Pentru scrierea numelui Darius se vor completa rânduri, formate din triunghiuri, dintre care vor conține caracterul *.
Exemplul 2
litere.in
2
6
D A R I U S
litere.out
D A U
Explicație
Prima literă de pe primul rând este , prima literă de pe rândul este , prima literă de pe rândul este .
Exemplul 3
litere.in
3
6
D A R I U S
litere.out
U
S A
I R D
Explicație
După rotire, pe primul rând se află litera , pe al doilea rând literele , iar pe rândul al treilea, în ordine de la stânga la dreapta, literele .