Игра в слова. Задача D, экзамен по программированию в С++, гр.22301.50
Задачу добавил: StePh@nka
Успешно сдано решений: 6
Ваня с друзьями все-таки отправился в поездку через город 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
Гарантируется, что повторов слов в списке нет. В цепочке повторно использовать слова также нельзя.