Задачи второго тура III-го этапа
Всероссийской олимпиады школьников по информатике
(10-11 класс, 2000-2001 учебный год, Пермская область)

1. Кросс-курс (автор-составитель — Брызгалов Е.В., оппонент — Южаков М.А.). 8 баллов.

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

Требуется написать программу, которая определит кросс-курс двух валют.

Примечания:

Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение по времени: 3 секунды.

Формат входных данных:
В первой строке содержится одно число N — количество валют. Далее следует N строк, содержащих название валюты (не более чем 20 букв латинского алфавита) и через пробел ее курс (в рублях). В последней строке приведены названия двух валют (A и B), разделенные пробелом.

Формат выходных данных:
Одно число, определяющее кросс-курс валют A и B (курс валюты A в валюте B).

Пример файла входных данных:

3
USD 29.4325
DM 13.7000
FFr 6.3230
USD FFr

Пример файла выходных данных:

4.6548

2. Система счисления Штерна-Броко (идея — Д. Кнут, составитель — Деменев А.Г., оппонент — Брызгалов Е.В.). 12 баллов.

Существует замечательный способ построения всех неотрицательных несократимых дробей m/n, где n и m — взаимно простые целые числа, т.е. не имеющие одинаковых простых сомножителей. Суть способа в том, чтобы начать с двух дробей 0/1 и 1/0, а затем повторить необходимое число раз следующую операцию: вставить (m+m')/(n+n') между двумя соседними дробями m/n и m'/n'.

Всю совокупность вставок можно представить в виде бинарного дерева, называемого деревом Штерна-Броко, начало которого выглядит так:

Каждый узел дерева имеет вид (m+m')/(n+n'), где m/n — ближайший предок сверху слева, а m'/n' — сверху справа.

Можно воспользоваться символами L и R для идентификации левой и правой ветви при продвижении вниз по дереву от корня, дроби 1/1, к некоторой определенной дроби. Тогда каждая положительная дробь получает единственное представление в виде строки состоящей из символов "R" и "L" (дроби 1/1 соответствует пустая строка). Такое представление положительных рациональных чисел назовем системой счисления Штерна-Броко.

Требуется написать программу, которая по заданному числу, записанному в системе счисления Штерна-Броко, выведет соответствующую дробь.

Примечания:
1) длина входной строки — не более 1000 символов;
2) числитель и знаменатель дроби не превосходят 2000000000.

Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение по времени: 5 секунд.

Формат входных данных:
В единственной строке заданное число, записанное в системе счисления Штерна-Броко.

Формат выходных данных:
В единственной строке заданное число, записанное в виде рациональной дроби, где числитель отделен от знаменателя символом "/".

Пример файла входных данных:

LRRL

Пример файла выходных данных:

5/7

3. Ещё одна последовательность (составитель — Гладков В.П., оппонент — Брызгалов Е.В.). 20 баллов.

В последовательности цифр а1, а2, а3, … каждый член, начиная с четвёртого, равен последней цифре суммы трёх предыдущих.

Требуется написать программу, которая по заданным а1, а2, а3 определяет аn, где n <= 1000000000.

Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение по времени: 5 секунд.

Формат входных данных:
Входной файл INPUT.TXT содержит две строки. В первой строке заданы три цифры а1, а2, а3, разделённые одним пробелом.
Во второй строке — одно число n.

Формат выходных данных:
Выходной файл OUTPUT.TXT содержит одну искомую цифру.

Пример файла входных данных:

2 3 6
1000000000

Пример файла выходных данных:

7

4. Следующее слово (составитель — Гладков В.П., оппонент — Еремин Е.А.). 25 баллов.

Задаётся некоторое русское слово, длина которого не превышает 80 символов, например ФАРА. Из всех его букв составляются все возможные другие слова, может быть и бессмысленные, например, ААРФ, ААФР, АРАФ, АРФА, …, ФРАА.

Требуется написать программу, которая по заданному слову строит непосредственно следующее за ним по алфавиту слово, состоящее из тех же букв, что и заданное.

Примечание: слова содержат только заглавные русские буквы.

Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение по времени: 5 секунд.

Формат входных данных:
Входной файл INPUT.TXT содержит одно слово, состоящее не более чем из 80 заглавных русских букв.

Формат выходных данных:
Выходной файл OUTPUT.TXT содержит одно слово, непосредственно следующее в алфавитном порядке за заданным, или слово “нет”, написанное малыми русскими буквами, если нужного слова найти не удаётся.

Пример 1 файла входных данных:

АРАФ

Пример 1 файла выходных данных:

АРФА

Пример 2 файла входных данных:

Я

Пример 2 файла выходных данных:

нет

5. Дроби (идея — Шестаков А.П., составитель — Брызгалов Е.В., оппонент — Каганов И.В.). 35 баллов.

Требуется написать программу, которая выводит в порядке возрастания все правильные несократимые дроби, знаменатели которых не превосходят N (2 <= N <= 500).

Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение по времени: 10 секунд.

Формат входных данных:
На входе одна строка, содержащая натуральное число N.

Формат выходных данных:
Несколько строк, каждая из которых содержит ровно одну дробь. Дробь записывается как два числа (числитель и знаменатель), разделенные символом "/" (знак деления)

Пример файла входных данных:

4

Пример файла выходных данных:

1/4
1/3
1/2
2/3
3/4

 

© Пермский областной Оргкомитет олимпиад школьников по информатике, 2001

Рейтинг ресурсов УралWeb
Сайт создан в системе uCoz