`Всеукраїнський центр проведення олімпіад в мережі Інтернет

XI Всеукраинская олимпиада по информатике

 

1. Часы

Жители планеты Олимпия любят летать в гости на другие планеты. Ученые планеты разработали часы, которые могут налаживаться для отсчета времени на любой планете. Эти часы состоят из шариков, лотка (очереди) и трех чаш: секундной, минутной и часовой. В каждый момент времени количество шариков в чашах показывает время (секунды, минуты и часы соответственно). Каждую секунду первый шарик из очереди попадает в секундную чашу. Если секундная чаша наполнилась (количество шариков равно количеству секунд в минуте на этой планете), то этот шарик переходит в минутную чашу, а остальные шарики переходят из секундной чаши в конец очереди в порядке, обратном к их попаданию в секундную чашу. Аналогично, при наполнении минутной чаши последний шарик переходит в часовую чашу, а остальные шарики из минутной чаши переходят в конец очереди в порядке, обратном к их попаданию в минутную чашу. Если заполняется часовая чаша, то все шарики из нее переходят в конец очереди в порядке, обратном к их попаданию в часовую чашу. Все шарики пронумерованы и в начальный момент времени находятся в очереди.

Задание. Написать программу CLOCK *, вычисляющую количество суток, необходимых для того, чтобы начальное положение шариков в очереди повторилось.

Входные данные. Входной текстовый ASCII-файл CLOCK.DAT содержит в единственной строке натуральны числа S, M, H, K (количество секунд в минуте, минут в часе, часов в сутках и общее количество шариков соответственно; S, M, H £ 60, S+M+H-2£ K£ 1000).

Выходные данные. Выходной текстовый ASCII-файл CLOCK.SOL должен содержать в единственной строке вычисленное Вашей программой количество суток.

Замечание. В тестах, которые будут применяться при проверке, использование длинной арифметики не предусматривается. Для представления количества суток советуем использовать типы данных extended в Pascal и long double в C.

Пример ввода и вывода.

CLOCK.DAT

CLOCK.SOL

5 12 12 30

380

 

 

2. Водопровод

 

Город состоит из N районов (1£ N£ 100). Каждый район имеет скважину для добычи воды. Каждые две скважины соединены между собой трубой. По каждой трубе вода может течь только в одном направлении. Вследствие энергетического кризиса в каждый момент времени работает только одна скважина. Поскольку система проектировалась без предусмотрения такого режима работы, некоторые районы города иногда остаются без воды.

Задание. Напишите программу WATER.*, определяющую, можно ли, изменив направление води во всех трубах, подключенных к одной из скважин, добиться непрерывного водоснабжения в городе.

Входные данные. В первой строке файла WATER.DAT находится число N - количество районов (скважин) в городе. В следующих N строках для каждой скважины указываются количество и номера скважин, из которых к ней поступает вода. Скважины имеют номера от 1 до N.

Выходные данные. В единственной строке файла WATER.SOL должно быть одно число - номер искомой скважины, если таковая существует, либо 0 в противном случае.

Пример ввода и вывода.

WATER.DAT

WATER.SOL

4

2

0

1 1

2 1 2

3 1 2 3

 

 

 


1 3

 

 

 

 


2 4

 

 

 

3. Охрана

 

Дано N (1£ N£ 100) пронумерованных объектов, которые охраняются и соединены K дорогами (1£ K£ 4950). Из любого объекта в любой можно проехать дорогами. Движение каждой дорогой возможно в оба направления. Необходимо разместить подразделение охраны так, чтобы наиболее удаленный объект достигался как можно быстрее.

Задание. Напишите программу POLICE.*, которая находит наилучшее место для подразделение охраны. Подразделение может находиться как на одном из объектов, так и на дороге между объектами.

Входные данные. Входной текстовый ASCII-файл POLICE.DAT в первой строке содержит натуральные числа N и K. В следующих K строках содержатся по три натуральных числа F, T, S (объекты с номерами F и T соединяет дорога длиной S километров, 1£ S£ 100; непосредственно между F и T может быть не более одной дороги).

Выходные данные. Выходной текстовый ASCII-файл POLICE.SOL должен содержать числа D, L, M, R (расстояние до наиболее удаленного пункта равно D, подразделение следует разместить в R километрах от объекта L на дороге до объекта M).

Пример ввода и вывода.

POLICE.DAT

POLICE.SOL

3 2

1 2 1

1 3 2

1.5 1 3 0.5

 

Полный архив олимпиады (1,9 Mb)


© Всеукраинский виртуальный центр олимпиад школьников "ОЛІМП"

© LIKT 1998-2024