Contest.samsu.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Игра в слова. Задача D, экзамен по программированию в С++, гр.22301.50

Задачу добавил: StePh@nka

Успешно сдано решений: 6

Игра в слова
ограничение по времени на тест: 
2 секунды
ограничение по памяти на тест: 
64 мегабайта
ввод: 
input.txt
вывод: 
output.txt

Ваня с друзьями все-таки отправился в поездку через город N-ск. Добираться решили поездом, а чтобы скоротать время в дороге, друзья решили поиграть в слова. Причем, правила игры решили усовершенствовать. Пусть дан список слов. Первое слово из этого списка становится началом цепочки слов. Далее выбирается слово из списка, первая буква которого совпадает с последней буквой слова из цепочки. Если в списке таких слов несколько, выбирается самое длинное из них. Если длина подходящих слов одинакова, выбирается то слово, что больше лексикографически. Игра заканчивается, когда не удается найти подходящее слово, или когда список слов оказывается пустым. Определите длину цепочки слов, построенной по таким правилам.

Входные данные

Первая строка содержит целое число 0 < N ≤ 1000 - количество слов в списке.

Следующие N строк содержат по одному слову латиницей (строчными буквами), длина каждого слова не менее 2 и не более 20 символов.

Выходные данные

Целое число 1 ≤ M ≤ 1000 - длина построенной цепочки слов.

Примеры тестов

входные данные
5
program
begin
end
while
do
выходные данные
1
входные данные
10
program
white
equality
yellow
willow
orchid
maximum
minimum
metro
multiple
выходные данные
6

Примечание

Гарантируется, что повторов слов в списке нет. В цепочке повторно использовать слова также нельзя.

Сдать задачу

Задать вопрос жюри по этой задаче