ПИТОН Одна торговая сеть проводит опрос потребителей о предпочтительной марке одного из товаров. Марки товара пронумерованы от 1 до K. Каждый участник опроса выбирает одну из K марок. Результаты опроса записываются в блокчейн.
Каждый блок блокчейна имеет следующую структуру. Первое число — это количество записанных голосов в данном блок блокчейна. Назовем его count. Второе число (назовем его sum) — это контрольная сумма всех голосов в предыдущем блоке блокчейна по модулю 4294967291 (то есть остаток от деления суммы голосов на это число). Далее в блоке следует count чисел от 1 до K — зарегистрированные голоса.
В первом блоке контрольная сумма предыдущего блока равна 0.
Последний блок блокчейна особенный, в нем количество записей равно 0, и хранится только контрольная сумма голосов предыдущего блока.
К сожалению, в программу сохранения голосов в блокчейне вкралась ошибка, которая может приводить к искажению информации в блоках блокчейна. А именно, в испорченном блоке все записи об отданных голосах уменьшаются на 1 кроме тех, которые и так равны 1. То есть, если запись об отданном голосе была равна 5, в испорченном блоке она станет равна 4, но запись о голосовании 1 останется 1. Значения count и sum в блоке не искажаются, то есть остаются правильными. Один блок может быть испорчен не более одного раза.
Например, пусть блокчейн состоит из двух блоков следующей структуры:
Одна торговая сеть проводит опрос потребителей о предпочтительной марке одного из товаров. Марки товара пронумерованы от 1 до K. Каждый участник опроса выбирает одну из K марок. Результаты опроса записываются в блокчейн.
Каждый блок блокчейна имеет следующую структуру. Первое число — это количество записанных голосов в данном блок блокчейна. Назовем его count. Второе число (назовем его sum) — это контрольная сумма всех голосов в предыдущем блоке блокчейна по модулю 4294967291 (то есть остаток от деления суммы голосов на это число). Далее в блоке следует count чисел от 1 до K — зарегистрированные голоса.
В первом блоке контрольная сумма предыдущего блока равна 0.
Последний блок блокчейна особенный, в нем количество записей равно 0, и хранится только контрольная сумма голосов предыдущего блока.
К сожалению, в программу сохранения голосов в блокчейне вкралась ошибка, которая может приводить к искажению информации в блоках блокчейна. А именно, в испорченном блоке все записи об отданных голосах уменьшаются на 1 кроме тех, которые и так равны 1. То есть, если запись об отданном голосе была равна 5, в испорченном блоке она станет равна 4, но запись о голосовании 1 останется 1. Значения count и sum в блоке не искажаются, то есть остаются правильными. Один блок может быть испорчен не более одного раза.
Например, пусть блокчейн состоит из двух блоков следующей структуры:
10 0 1 2 3 4 5 6 1 2 1 3 -- первый блок
0 28 -- второй блок
Контрольная сумма всех голосов (1 2 3 4 5 6 1 2 1 3) певого блока равна 28, что сопадает с суммой голосов, записанной во втором блоке. Это означает, что блок не испорчен, что позволяет просто посчитать популярность каждой марки.
Пусть дан блокчейн следующей структуры:
10 0 1 1 2 3 4 5 1 1 1 2 -- первый блок
0 28 -- второй блок
Сумма всех голосов первого блока равна 21, что не совпадает с суммой голосов, записанной во втором блоке. Значит блок испорчен. Можно однозначно восстановить, сколько голосов было подано за каждую марку.
На стандартном потоке ввода сначала задается число K, затем подаются данные в формате, описанном выше. Количество товаров K не меньше 1 и не больше 255. Общее количество участников опроса не превосходит 1000. Числа во вводе могут разделяться произвоным количеством пробелов, табуляций и переводов строк.
На стандартный поток вывода напечатайте K чисел: количество голосов, отданных марки товара.
245
338
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
эльза18209.01.2021 16:42
-
maZIK00720.03.2023 10:56
-
alex835305.04.2020 09:08
-
Фыффыф10.09.2021 19:55
-
Валерия344501.07.2022 07:28
-
snegierevayanap08i8i13.11.2020 20:21
-
Олежик12131428.10.2021 03:34
-
Кукарику1231.08.2022 15:53
-
tattysg02.10.2021 18:08
-
krachun7727.01.2022 12:31
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.