М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
NurBanu1
NurBanu1
01.03.2020 15:01 •  Информатика

Мерзовкусная диета Контрольная работа
макс.
Дедлайн: 21 дек. 17:06
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
— Вот он, препротивный шишгурец! — размахивая им, вскричал БДВ. — Я его не перевариваю, не пережариваю и ненаслышу! Только потому, что я отказываюсь есть человеконасекомых, как другие великаны, я должен есть мерзовкусные шишгурцы! Если я откажусь, от меня останутся только кожа да трости!

— Вы хотите сказать кожа да кости? — спросила Софи.

— Сам знаю, что кости, — ответил БДВ постарайся понять, что иногда я перепутываюсь и передумываюсь, но всегда стараюсь изо всех вил выговаривать слова правильно.

не запутаться в дебрях слов, напишите программу.

Формат ввода
Вводится число – количество строк в списке.

Затем вводятся строки из чисел, записанных через пробел.

Формат вывода
Вывести словарь, в котором ключи – это числа из второго столбца матрицы, а значения – список из максимального числа, которое можно составить из остальных цифр той же строки без повторений. Если в столбце встречаются одинаковые числа, то значения добавляются в один список, который затем сортируется по возрастанию.

Пример 1
Ввод Вывод
3
11 2 3 40
53 2 3 1
24 1 12 3
{2: [531, 4310], 1: [4321]}
Пример 2
Ввод Вывод
4
11 3 7 8 0
7 6 22 3 1
1 3 0 8 3
0 3 3 7 71
{3: [7310, 8310, 8710], 6: [7321

👇
Ответ:
sonyabush12345
sonyabush12345
01.03.2020
Привет! Я рад, что ты обратился ко мне за помощью. Давай решим эту задачу пошагово.

Сначала нам нужно понять, что требуется от нас в задаче. Нам дана матрица чисел, разделенных пробелами. Количество строк в матрице задается пользователем вводом числа. Наша задача - создать словарь, где ключи будут числа из второго столбца матрицы, а значениями будут списки максимального числа из остальных цифр той же строки без повторений.

Для начала, создадим функцию, которая прочитает ввод и преобразует его в матрицу чисел:

```python
def read_matrix():
n = int(input()) # считываем количество строк в матрице

matrix = [] # создаем пустую матрицу

for _ in range(n):
row = list(map(int, input().split())) # считываем строку чисел и преобразуем их в список чисел
matrix.append(row) # добавляем строку в матрицу

return matrix
```

Теперь нам нужно написать функцию, которая будет создавать словарь согласно требованиям задачи:

```python
def create_dictionary(matrix):
dictionary = {} # создаем пустой словарь

for row in matrix:
key = row[1] # ключом словаря будет второе число в строке
value = row[2:] # значениями словаря будут числа после второго числа в строке

# убираем повторяющиеся числа из списка значений
value_without_duplicates = list(set(value))

# находим максимальное число из списка значений
max_value = max(value_without_duplicates)

# проверяем, есть ли уже такой ключ в словаре
if key in dictionary:
dictionary[key].append(max_value) # если есть, добавляем максимальное число в список значений
else:
dictionary[key] = [max_value] # если нет, создаем новую запись в словаре

# сортируем значения в списке для каждого ключа
for key in dictionary:
dictionary[key].sort()

return dictionary
```

Теперь мы можем использовать обе эти функции для решения задачи. Вот полный код решения:

```python
def read_matrix():
n = int(input()) # считываем количество строк в матрице

matrix = [] # создаем пустую матрицу

for _ in range(n):
row = list(map(int, input().split())) # считываем строку чисел и преобразуем их в список чисел
matrix.append(row) # добавляем строку в матрицу

return matrix

def create_dictionary(matrix):
dictionary = {} # создаем пустой словарь

for row in matrix:
key = row[1] # ключом словаря будет второе число в строке
value = row[2:] # значениями словаря будут числа после второго числа в строке

# убираем повторяющиеся числа из списка значений
value_without_duplicates = list(set(value))

# находим максимальное число из списка значений
max_value = max(value_without_duplicates)

# проверяем, есть ли уже такой ключ в словаре
if key in dictionary:
dictionary[key].append(max_value) # если есть, добавляем максимальное число в список значений
else:
dictionary[key] = [max_value] # если нет, создаем новую запись в словаре

# сортируем значения в списке для каждого ключа
for key in dictionary:
dictionary[key].sort()

return dictionary

# считываем ввод
matrix = read_matrix()

# создаем словарь
result = create_dictionary(matrix)

# выводим результат
for key in result:
print(key, ":", result[key])
```

Теперь мы можем запустить нашу программу и получить результат. Надеюсь, это поможет тебе решить задачу. Если у тебя возникнут еще вопросы, не стесняйся задавать. Удачи!
4,5(27 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ