Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.01.2022
Сообщений: 13

Lost in Translation

13.11.2022, 12:31. Показов 1280. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru