Вопрос задан 20.06.2023 в 15:34. Предмет Информатика. Спрашивает Поляков Денис.

Дан массив N слов длиной K, из словаря английского языка, состоящих из букв английского алфавита,

выведите самое длинное слово в массиве слов, которое может быть построено по одному символу за раз, другими словами, в массиве. Если существует более одного возможного ответа, верните самое длинное слово с наименьшим лексикографическим порядком. Если ответа нет, верните пустую строку.Слова в массиве состоят из строчных букв английского алфавита.Формат входных данных: в первой строке вводится 1 <= N<=1000 количество элементов в массиве. В последующих N строк вводятся элементы массива длиной 1 <= K<=30.Формат выходных данных: выведите ответ на задачу.Пример. Входные данные: 5; w; wo; wor; worl; world. Выходные данные: world.​Написать программу.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Занковец Максим.

words = {i: len(set(i)) for i in [input() for _ in range(int(input()))]}

print(sorted([ind for ind, value in words.items() if value == max(words.values())])[0])

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Да, конечно! Вот пример простой программы на Python, которая решает данную задачу:

```python def find_longest_word(words): words_set = set(words) longest_word = ""

for word in words: if all(word[:i] in words_set for i in range(1, len(word))): if len(word) > len(longest_word) or (len(word) == len(longest_word) and word < longest_word): longest_word = word

return longest_word

# Чтение входных данных n = int(input("Введите количество элементов в массиве: ")) word_list = [] for _ in range(n): word = input("Введите слово: ") word_list.append(word)

# Вызов функции и вывод результата result = find_longest_word(word_list) print("Самое длинное слово, построенное по одному символу за раз:", result) ```

Вы можете ввести пример данных, как в вашем примере:

``` 5 w wo wor worl world ```

И программа выведет:

``` Самое длинное слово, построенное по одному символу за раз: world ```

Эта программа использует множество для проверки существования префиксов слов в массиве. Она также учитывает лексикографический порядок, чтобы вернуть самое длинное слово с наименьшим лексикографическим порядком в случае равной длины.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос