Se dă un şir de caractere format din litere mari şi mici ale alfabetului englez, spaţii şi caracterul ⌂
ce are codul ASCII . Fiecare caracter al lui se codifică printr-o succesiune de şi ce reprezintă codul ASCII al caracterului în baza . Codul începe cu cifra , astfel pentru caracterul A
codificarea este . Un cuvânt poate fi format din litere şi caracterul ⌂
. Se consideră matricea formată din cuvintele șirului codificate şi memorate pe câte o linie în ordinea în care se găsesc acestea în propoziție.
Cerinţă
Scrieţi un program care, cunoscând şi , rezolvă următoarele două cerinţe:
- determină , latura celui mai mare pătrat din matricea ce conține doar valori de ;
- determină , câte pătrate de latura cu toate elementele egale cu există în matricea .
Date de intrare
Fişierul de intrare asciimat.in
conţine pe prima linie cerinţa care trebuie să fie rezolvată ( sau ). Pe a doua linie se află șirul , iar pe a treia linie se află valoarea , având semnificaţia din enunţ.
Date de ieşire
Dacă cerinţa este , fişierul de ieşire asciimat.out
va conţine o singură linie pe care va fi scris , latura celui mai mare pătrat din matricea ce conține doar valori de .
Dacă cerinţa este , fişierul de ieşire asciimat.out
va conţine o singură linie pe care va fi scris , câte pătrate de latura cu toate elementele egale cu există în matricea .
Restricții și precizări
- şirul are cel mult de caractere
- lungimea unui cuvânt nu depăşeşte de caractere
- fiecare cuvânt este codificat pe o singură linie
- fiecare literă este codificată pe biţi
- liniile conţin concatenarea codurilor ASCII ale literelor unui cuvânt, astfel restul valorilor rămase libere din cadrul unei linii vor avea valoarea .
- numărul de cuvinte din şir nu depăşeşte valoarea
- Pentru teste valorând de puncte cerinţa este
- Pentru teste valorând de puncte cerinţa este .
- puncte se acordă din oficiu.
Exemplul 1
asciimat.in
1
Ana are mere
3
asciimat.out
3
Exemplul 2
asciimat.in
2
Ana are mere
2
asciimat.out
7
Explicație
Matricea obţinută este:
1000001110111011000010000000
1100001111001011001010000000
1101101110010111100101100101
La poziția în matrice este colţul stânga-sus al unui pătrat de latura cu toate elementele egale cu .
Există pătrate de latura cu toate elementele egale cu .