Вопрос задан 28.10.2023 в 19:30. Предмет Информатика. Спрашивает Кючюк Серг.

НУЖНА ВАША ПОМОЩЬ! Наше агентство осуществило перехват нескольких предположительно шпионских

сообщений. Однако возникли проблемы при декодировании.Нам удалось узнать, что:- каждый символ изначального сообщения закодировали последовательностью из нулей и единиц;длина каждой из этих последовательностей равна k ;- каждому символу поставлена в соответствие ровно одна последовательность из k нулей и единиц;каждой последовательности из k нулей и единиц поставлен в соответствие ровно один символ;-экземпляры таблицы декодирования испорчены ине подлежат восстановлению.Большего вам знать не нужно.Для первичного отделения шпионских сообщений от сообщений, попавших в рассмотрение случайно, нам нужна программа, подсчитывающая количество различных символов, используемых в сообщении, представленном в виде строки.Берётесь за эту работу?Формат входных данныхВ первой строке входных данных два целых числа:1≤n≤10^5 - длина строки;1≤k≤n - длина последовательностей, которыми были закодированы символы.Во второй строке дано сообщение в виде строки s .Гарантируется, что число n кратно k и закодированная строка s состоит из n символов, каждый из которых равен 0 или 1 .Формат выходных данныхВыведите одно положительное число – количество различных символов в строке.Пример -Ввод:9 3001000100Вывод:3Надеюсь на вас :) (любой язык программирования)
0 0
Перейти к ответам

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

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

C#. Пример работы на изображении. (Входные данные отличаются)

using System;

using System.Collections.Generic;

using System.Linq;


namespace NSymbs

{

   class Program

   {

       static void Main(string[] args)

       {

           string input;

           input = Console.ReadLine();

           int[] param = input.Split("\t ".ToCharArray()).Select(x => int.Parse(x)).ToArray();

           input = Console.ReadLine();

           int z = input.Length / param[1];

           List<string> bufer = new List<string>();

           for (int i = 0; i < z; ++i)

               bufer.Add(input.Substring(i*param[1], param[1]));

           Console.WriteLine(bufer.Distinct().Count());

       }

   }

}



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения этой задачи, вам нужно написать программу, которая подсчитывает количество различных символов в строке сообщения после декодирования. Вам известно, что каждый символ изначального сообщения закодирован последовательностью из нулей и единиц длиной k, и каждой последовательности из k нулей и единиц соответствует ровно один символ. Вот пример решения на языке Python: ```python # Чтение входных данных n, k = map(int, input().split()) s = input() # Создаем пустой сет для хранения различных символов distinct_characters = set() # Перебираем символы в закодированной строке с шагом k for i in range(0, n, k): # Извлекаем последовательность длиной k sequence = s[i:i+k] # Декодируем последовательность в символ decoded_character = int(sequence, 2) # Добавляем символ в сет distinct_characters.add(decoded_character) # Выводим количество различных символов print(len(distinct_characters)) ``` Этот код сначала считывает входные данные (длину строки n и длину последовательностей k), а затем читает строку сообщения s. Затем он перебирает символы строки с шагом k, извлекает последовательность длиной k, декодирует ее в символ (предполагается, что последовательность представляет собой двоичное число), и добавляет символы в сет. В конце программа выводит количество различных символов, найденных в сообщении. Вы можете запустить этот код, предоставив входные данные в формате, указанном в вашем примере, и он выведет количество различных символов в сообщении.
0 0

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

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

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

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