Вопрос задан 28.02.2021 в 12:49. Предмет Информатика. Спрашивает Федотов Виктор.

Во входном файле записано число N - общее количество репостов (1 ≤ N ≤ 100000). Затем следует

описание репостов: в i-ой строке записано число Ri - номер записи, репостом которой является i-ая запись (0 ≤ Ri < i). Начальная запись имеет номер 0. Формат результата Выведите номер записи, которой нужно поставить лайк, чтобы он отобразился у как можно большего количества записей. Если правильных ответов несколько - выведите любой из них.
0 0
Перейти к ответам

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

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

Данная задача может быть решена с использованием алгоритма обратной индукции. Мы можем создать массив "likes_count", где для каждой записи будем подсчитывать количество лайков, которые получит данная запись и все ее репосты.

Инициализируем массив "likes_count" нулями. Затем для каждой записи, начиная с самой последней и до первой, будем обновлять значение "likes_count" следующим образом:

  1. Для каждого репоста i-ой записи, увеличим значение "likes_count" репоста на 1 плюс значение "likes_count" текущей записи.

После прохода по всем записям, найдем максимальное значение в массиве "likes_count" и выведем индекс соответствующей записи.

Приведу ниже пример кода на языке Python для решения этой задачи:

python
def find_most_liked_post(N, reposts): likes_count = [0] * N for i in range(N-1, 0, -1): repost = reposts[i] likes_count[repost] += 1 + likes_count[i] max_likes = max(likes_count) most_liked_post = likes_count.index(max_likes) return most_liked_post # Пример использования: N = int(input()) # Считываем количество репостов reposts = [] for _ in range(N): repost = int(input()) # Считываем номер репоста reposts.append(repost) result = find_most_liked_post(N, reposts) print(result)

Вы можете сохранить код в файле с расширением ".py" и запустить его, введя необходимые значения из файла, или воспользоваться интерактивной оболочкой Python для выполнения кода пошагово.

Важно отметить, что представленное решение предполагает корректность входных данных, то есть каждая запись имеет корректный номер репоста.

0 0

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

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

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