Олимпиадные задачи по программированию, Меньшиков Ф.В., 2006

Олимпиадные задачи по программированию, Меньшиков Ф.В., 2006.

   Цель этой книги — познакомить читателей с некоторыми часто встречающимися типами задач, предлагаемых на олимпиадах по программированию. В разных источниках можно найти немало олимпиадных задач, но примеры решений публикуются далеко не всегда, а без них начинающему программисту-олимпийцу подготовиться к реальным соревнованиям бывает тяжело. В этой книге опубликован детальный разбор задач, взятых из ранее проводившихся олимпиад. Кроме примеров решения, автор обращает внимание читателей на особенности языков программирования, которые часто упускают из виду, но которые очень важны для успешного решения задачи. К книге прилагается компакт-диск с набором тестовых данных и тестирующей системой, позволяющими проверить правильность решения каждой из 90 задач.

Олимпиадные задачи по программированию, Меньшиков Ф.В., 2006


Задача 9 А. Диалог компьютеров.
Три компьютера соединены сетью. Один из них — сервер, два других — клиенты. На сервере есть несколько файлов. Полные имена файлов, состоящие из двух частей (имя и расширение), различны. Оба клиента знают полные имена всех файлов, находящихся на сервере. Сервер выбирает один из своих файлов и посылает его имя одному из клиентов, а расширение — второму.

Затем клиенты начинают общаться друг с другом, пытаясь определить, какой файл был выбран сервером (они хотят узнать полное имя файла). Однако клиенты вынуждены общаться очень ограниченным способом. Они по очереди посылают сообщения друг другу, но могут сказать только, что не знают полного имени файла. Если клиент не знает полного имени выбранного файла, он может послать другому клиенту сообщение, говорящее: «Я не знаю полного имени файла». Клиенты чередуются, посылая только это сообщение туда и обратно. Так продолжается до тех пор, пока один из клиентов не узнает полное имя файла или они не решат закончить диалог. Клиент, получивший первую часть полного имени файла, всегда ждет, что второй клиент пошлет первое сообщение.

Пусть вы знаете все полные имена файлов, находящихся на сервере, и слушаете разговор клиентов. Основываясь на этой беседе, вы должны определить набор файлов, которые могли быть выбраны сервером. Файлы в этом наборе называются файлами-кандидатами.

Ввод из файла dialogue.in. В первой строке находятся два целых числа, N и M, разделенные пробелом: N — число файлов на сервере, М — число сообщений, посланных клиентами, пытающимися определить полное имя файла.

Каждая из следующих N строк содержит одно полное имя файла. Полное имя файла дано в стиле, аналогичном формату 8.3 MS-DOS. Каждое полное имя представлено в форме имя. расширение, где и имя, и расширение состоят только из заглавных латинских букв и цифр. Имя всегда имеет от одного до восьми символов. Расширение имеет до трех символов и может быть пусто. Если расширение пусто, разделяющая точка может быть опущена.

Содержание.
Предисловие.
ЧАСТЬ 1. ЗАДАЧИ.
Тренировка 1.
Тренировка 2.
Тренировка 3.
Тренировка 4.
Тренировка 5.
Тренировка 6.
Тренировка 7.
Тренировка 8.
Тренировка 9.
Тренировка 10.
Тренировка 11.
Тренировка 12.
Тренировка 13.
Тренировка 14.
Тренировка 15.
ЧАСТЬ 2. РЕШЕНИЯ.
Тренировка 1.
Тренировка 2.
Тренировка 3.
Тренировка 4.
Тренировка 5.
Тренировка 6.
Тренировка 7.
Тренировка 8.
Тренировка 9.
Тренировка 10.
Тренировка 11.
Тренировка 12.
Тренировка 13.
Тренировка 14.
Тренировка 15.
Приложение А. Характеристики встроенных типов Турбо Паскаля.
Приложение Б. Процедуры длинной арифметики.
Дополнительная информация о задачах.



Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Олимпиадные задачи по программированию, Меньшиков Ф.В., 2006 - fileskachat.com, быстрое и бесплатное скачивание.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу



Скачать - pdf - Яндекс.Диск.
Дата публикации:





Теги: :: ::


Следующие учебники и книги:
Предыдущие статьи:


 


 

Книги, учебники, обучение по разделам




Не нашёл? Найди:





2021-09-21 00:08:07