Главная » Файлы » Для вчителя » Інформатика [ Добавить материал ]

Московская олимпиада школьников по программированию, 7–9 класс задачі
[ · Скачать удаленно (180.5 Kb) ] 04.07.2010, 02:05

Задача A. Метро

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Имя входного файла:

ain.txt

Имя выходного файла:

aout.txt

 

 

Витя работает недалеко от одной из станций кольцевой линии Московского метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой.

Формат входных данных

Станции пронумерованы подряд натуральными числами 1, 2, 3, …, N (1-я станция – соседняя с N-й), N не превосходит 100.

Вводятся три числа: сначала N – общее количество станций кольцевой линии, а затем i и j – номера станции, на которой Витя садится, и станции, на которой он должен выйти. Числа i и j не совпадают. Все числа разделены пробелом.

Формат выходных данных

Требуется выдать минимальное количество промежуточных станций (не считая станции посадки и высадки), которые необходимо проехать Вите.

Примеры

Входные данные

Выходные данные

Комментарий

100 5 6

0

На кольцевой линии 100 станций; проехать с 5-й на 6-ю станцию Витя может напрямую, без промежуточных станций

10 1 9

1

На кольцевой линии 10 станций; проехать с 1-й на 9-ю станцию Витя может через одну промежуточную, ее номер 10

 

Задача B. Оттепель

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайт

Имя входного файла:

bin.txt

Имя выходного файла:

bout.txt

 

 

Уставшие от необычно теплой зимы, москвичи решили узнать, действительно ли это самая длинная оттепель за всю историю наблюдений за погодой. Они обратились к синоптикам, а те, в свою очередь, занялись исследованиями статистики за прошлые годы. Их интересует, сколько дней длилась самая длинная оттепель.

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

Формат входных данных

Cначала вводится число N – общее количество рассматриваемых дней (1 ≤ N ≤ 100). В следующей строке вводится N целых чисел, разделенных пробелами. Каждое число – среднесуточная температура в соответствующий день. Температуры – целые числа и лежат в диапазоне от –50 до 50.

Формат выходных данных

Требуется вывести одно число – длину самой продолжительной оттепели, то есть наибольшее количество последовательных дней, на протяжении которых среднесуточная температура превышала 0 градусов. Если температура в каждый из дней была неположительной, выведите 0.

 

Примеры

Входные данные

Выходные данные

Комментарий

6

-20 30 -40 50 10 -10

2

Рассматриваются 6 дней.

Самая продолжительная оттепель была на 4-й и 5-й день (50 и 10 градусов соответственно)

8

10 20 30 1 -10 1 2 3

4

Самая продолжительная оттепель была в первые 4 дня

5

-10 0 -10 0 -10

0

Дней с положительной температурой не было

Задача C. Шахматная доска

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Имя входного файла:

cin.txt

Имя выходного файла:

cout.txt

 

 

 Из шахматной доски по границам клеток выпилили связную (не распадающуюся на части) фигуру без дыр. Требуется определить ее периметр.

 

Формат входных данных

Сначала вводится число N (1 ≤ N ≤ 64) – количество выпиленных клеток. В следующих N строках вводятся координаты выпиленных клеток, разделенные пробелом (номер строки и столбца – числа от 1 до 8). Каждая выпиленная клетка указывается один раз.

Формат выходных данных

Выведите одно число – периметр выпиленной фигуры (сторона клетки равна единице).

 

Примеры

Входные данные

Выходные данные

Комментарий

3

1 1

1 2

2 1

8

Вырезан уголок из трех клеток. Сумма длин его сторон равна 8.

 


 

 

 

 

 

 

1

8 8

4

Вырезана одна клетка. Ее периметр равен 4.

 

 

 

 

 

 


 

Задача D. Кассы

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Имя входного файла:

din.txt

Имя выходного файла:

dout.txt

 

 

На одном из московских вокзалов билеты продают N касс. Каждая касса работает без перерыва определенный промежуток времени по фиксированному расписанию (одному и тому же каждый день). Требуется определить, на протяжении какого времени в течение суток работают все кассы одновременно.

Формат входных данных

Сначала вводится одно целое число N (0 < N £ 1000).

В каждой из следующих N строк через пробел расположены 4 целых числа, первые два из которых обозначают время открытия кассы в часах и минутах (часы — целое число от 0 до 23, минуты — целое число от 0 до 59), остальные два — время закрытия в том же формате. Числа разделены пробелами.

Время открытия означает, что в соответствующую ему минуту касса уже работает, а время закрытия — что в соответствующую минуту касса уже не работает. Например, касса, открытая с 10 ч 30 мин до 18 ч 30 мин, ежесуточно работает 480 минут.

Если времена открытия и закрытия совпадают, то это означает, что касса работает круглосуточно. Если первое время больше второго, то это означает, что касса начинает работу до полуночи, а заканчивает — на следующий день.

 

Формат выходных данных

Требуется вывести одно число — суммарное время за сутки (в минутах), на протяжении которого работают все N касс.

 

Примеры

Входные данные

Выходные данные

Комментарий

3

1 0 23 0

12 0 12 0

22 0 2 0

 

120

Первая касса работает с часу до 23 часов, вторая – круглосуточно, третья – с 22 часов до 2 часов ночи следующего дня. Таким образом, все три кассы одновременно работают с 22 до 23 часов и с часу до двух часов, то есть 120 минут.

2

9 30 14 0
14 15 21 0

0

Первая касса работает до 14 часов, а вторая начинает работать в 14 часов 15 минут, то есть одновременно кассы не работают.

2

14 00 18 00

10 00 14 01

1

Вместе кассы работают лишь одну минуту – с 14:00 до 14:01 (в 14:01 вторая касса уже не работает).

Задача E. Словарь

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Имя входного файла:

ein.txt

Имя выходного файла:

eout.txt

 

 

 

У Васи на клавиатуре не работает клавиша пробел. Поэтому все тексты он теперь набирает слитно. Напишите программу, которая будет разделять набранный Васей текст на слова из данного словаря.

Формат входных данных

Во входном файле сначала записан текст, введенный Васей – одна строка из не более чем 100 латинских строчных букв. В следующей строке записано количество слов в словаре N – натуральное число, не превосходящее 2000. В следующих N строках записаны слова из словаря – по одному слову в каждой строке, каждое слово длиной не более 20 латинских строчных букв. Слова записаны в алфавитном порядке.

Формат выходных данных

Выведите Васин текст с пробелами между словами (пробел после последнего слова допустим). Если возможно несколько вариантов разбиения строки на слова, выведите один любой их них. Гарантируется, что хотя бы один способ разбиения строки на словарные слова существует.

Примеры

Входные данные

Выходные данные

whatcanido

6

a

an

can

do

i

what

 

what can i do

bababababa

2

a

b

 

b a b a b a b a b a

 

Категория: Інформатика | Добавил: referatwm
Просмотров: 867 | Загрузок: 137 | Рейтинг: 0.0/0