Задача 1:
Распределба на текст
Даден ви е стринг кој содржи листа од зборови оддалечени со единечни празни места, без водечки или следечки празни места. Имате панел на кој сакате да ги напишете овие зборови, во редослед, по потреба во повеќе линии. Зборовите идат од лево кон десно во секоја линија, а редовите од горе према доле. Секоја линија мора да содржи само целосни зборови и секој пар од соседни зборови во линија мора да биде оддалечен со празно место. Не смее да има водечки или следечки нули.
Вие морате да ги напишете зборовите во фонт поголем од 7. Во фонт со големина N, висината на секоја буква е 2*N пиксели, а ширината е N+2 пиксели. Нема дополнителен простор помеѓу соседни карактери и соседни линии.
Даден ви е Стринг кој ги содржи зборовите кои мора да ги напишете и димензиите на панелот. Не ви е дозволено да го ротирате панелот.
Вратете ја најголемата големина на фонт (во интеџер вредност, строго поголема од 7) со која што може да ги напишете зборовите. Ако не е возможно тоа, вратете -1.
Дефиниција:
Класа: RaspredelbaTekst
Метод: najgolemFont
Параметри:String, int, int
Враќа: int
Метод: int najgolemFont(String text, int width, int height)
(public method)
Забелешки
- Ако започнете нова линија помеѓу два збора, тогаш празниот простор кој ги дели не се пишува на панелот.
Ограничувања
- text ќе биде помеѓу 1 и 50 карактери (вклучително)
- Секој карактер во text ќе биде голема буква (A-Z) или празно место ' '
- широчината и висината ќе бидат помеѓу еден и 10000 вклучително
Примери:
0)
"ONE TWO THREE FOUR FIVE"
150
40
Враќа: 9
1)
"ONE TWO THREE FOUR FIVE"
150
60
Враќа: 10
2)
"ONE TWO THREE FOUR FIVE"
150
10000
Враќа: 28
3)
"ONE TWO THREE FOUR FIVE"
10000
10000
Враќа: 1250
4)
"ONE TWO THREE FOUR FIVE"
50
50
Враќа: -1
5)
"A"
9
14
Враќа: -1
Забележете дека големината на фонтот мора да биде поголема од 7.