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

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

Показать ответ
Ответ:
YourselfRuelfddd
YourselfRuelfddd
09.10.2020 03:59

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(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота