
Вопрос задан 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Надеюсь на вас :) (любой язык программирования)

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

Отвечает Жукова Рина.
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());
}
}
}




Отвечает нейросеть 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


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili