0 / 0 / 0
Регистрация: 25.01.2022
Сообщений: 13

Lost in Translation

13.11.2022, 12:31. Показов 1284. Ответов 0

Студворк — интернет-сервис помощи студентам
Это задача с двойным запуском. Ваше решение будет запущено два раза.
Вам необходимо написать программу, которая передает данные по ненадежному каналу связи.
На одном конце провода (во время первого запуска) вы получаете двоичную строку длины n, и
должны уметь восстановить ее на другом конце провода (во время второго запуска).
К счастью, канал связи позволяет посылать строку с k различными типами символов (k > 2)
и использовать строки длины m (m > n). Однако, в результате передачи строки по этому каналу,
все вхождения какого-то из k типов символов будут удалены. Оставшиеся символы строки
будут идти в том же порядке, как и раньше. Ваша задача состоит в том, чтобы придумать схему
кодирования, позволяющую восстановить исходную строку во время второго запуска.
Для ускорения тестирования в одном тесте вам предстоит закодировать и передать сразу t строк.
Удаление символов в этих строках будет независимым, в разных строчках могут быть удалены
разные символы.
Формат входных данных
При первом запуске на первой строке ввода находится число 1. Следующая строка содержит
целые числа t, n, m и k  число строк, которые необходимо закодировать, длина каждой из них,
разрешенная длина строки, которую можно вывести, и число различных символов, которые можно
использовать (1 6 t 6 100, k = 3 или k = 4).
Каждая из следующих t строк содержит строку длины n из нулей и единиц.
Если k = 4, то вы можете использовать для кодирования символы A, B, C, D. Если k = 3, то вы
можете использовать только A, B и C.
При втором запуске на первой строке ввода находится число 2. Вторая строка также содержит
целые числа t, n, m и k, такие же, как и в первом запуске. Далее следуют t строк, которые вывела
ваша программа в первом запуске, но в каждой строке были удалены все символы какого-то од-
ного типа. Строки, подающиеся на вход вашей программе во втором запуске, будут идти в том же
порядке, как и в первом запуске.

Формат выходных данных
В первом запуске вам необходимо вывести t непустых строк. Каждая из должна состоять из не
более, чем m символов из алфавита { A, B, C, D } или { A, B, C }, в зависимости от текущего k.
Символ для удаления будет выбран так, чтобы строка не стала пустой, например, в строке CCCC
для удаления не будет выбран символ C.
При втором запуске раскодируйте все t строк и выведите исходные двоичные строки длины n.

Пример

стандартный ввод
1
2 10 20 4
0111011001
1111111110

стандартный вывод
BAACBBACDCDDAACCAABD
DABBADCBCBBCCACA
---------------------------------
стандартный ввод
2
2 10 20 4
AACACDCDDAACCAAD
DBBDCBCBBCCC

стандартный вывод
0111011001
1111111110
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2022, 12:31
Ответы с готовыми решениями:

Model Translation Aborted
При создании транзакта выдает такую ошибку: 12/15/17 18:47:40 Model Translation Begun. 12/15/17 18:47:40 Line 3, Col 1. Cumulative...

Microsoft Translation API
Добрый вечер! Изучаю python 3.5, дело дошло до HTTP запросов. Для усвоения выбрал создание переводчика на основе microsoft api. Но над...

AS5300 translation rules
добрый день всем! есть древняя, но пока еще исправно работающая железяка AS5300. недавно, в ходе перевода работников на удаленку,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2022, 12:31
Помогаю со студенческими работами здесь

Notify OSD и Yandex-translation на Ubuntu
Привет! В общем, потребовался универсальный такой, встроенный переводчик. Нашел крутую фичу, где объединяют notify-osd и переводчик. Я...

Почему rotate матрицы дает дополнительный translation?
рисуется спрайт он должен вертеться и отрисовываться по определенным координатам ball.Transform = Matrix.RotationZ(rRotate1) *...

Использование Google Translation API в расширении для Chrome
Задача написать расширение для браузера Google Chrome, которое должно переводить на определённом сайте сообщения чата. То есть переводится...

Как получить список поддерживаемых языков в Google translation API V2
собственно сабж. Или как правильно отловить сообщение, что язык не поддерживается? составляю реквест, ожидаю webResponse =...

Все про Network Address Translation (aka NAT) на Cisco [ENG]
Everything NAT IOS has a plethora of NAT features that span from simple 1:1 NATs to policy NATs to basic round-robin load balancing....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru