I Олимпиада школьников Ленинграда по информатике

Ленинград, 1986 года

Задачи

Введение

В 1986 году в олимпиаде принимали участие главным образом учащиеся физико-математических школ, для которых проводился первый тур в школах. В одних школах предлагались задачи 1, 3, 5, в других - 2, 4, 6. Те же задачи были опубликованы в газете "Смена" и желающие из остальных школ могли прислать по почте свои решения в оргкомитет олимпиады, однако таких участников оказалось мало. Те, кто успешно справился с задачами первого тура, приглашались на второй тур, который проводился в два этапа. На первом этапе участники олимпиады письменно решали предлагамые задачи 7 - 9, а на втором, через две недели, отлаживали написанные решения на машине. Тем, кто заканчивал отладку, не исчерпав всего отведенного времени, предлагалось модифицировать свою программу для измененного условия.

Поскольку в разных школах, особенно специализированных, преподавание ведется с использованием различных языков, для решения задач разрешалось использовать несколько наиболее распространенных: Алгол 60, Алгол 68, Бейсик, Паскаль, ПЛ/I, Фортран и алгоритмический язык из учебного пособия по информатике (на заключительном туре последний язык использовать не разрешалась из-за отсутствия удовлетворительной реализации).

Первый тур

Задача 1

Даны положительные целые числа A1, A2, A3, A4, M. Найти и напечатать все четверки целых положительных чисел X1, X2, X3, X4, удовлетворяющих уравнению A1X1 + A2X2 + A3X3 + A4X4 = M.

Задача 2

Даны два целых положительных числа A, B. Напечатать слово "ДА" или "НЕТ" в соответствии с тем, можно ли получить десятичную запись числа A путем вычеркивания одной или более цифр числа B.

Задача 3

Дано неотрицательное целое число K, не превышающее миллиона. Напечатать фразу "K ворон" русскими словами. (Пример. Если K = 23, то должно быть напечатано "двадцать три вороны", если K = 3651 - то "три тысячи шестьсот пятьдесят одна ворона").

Задача 4

Даны числа X1, Y1; X2, Y2; X3, Y3 - координаты трех каких-то вершин прямоугольника в прямоугольной системе координат. Вычислить и напечатать координаты четвертой вершины.

Задача 5

Соревнования по прыжкам в высоту проводились по следующим правилам. Если спортсмен сбивал планку, он выбывал из дальнейшей борьбы, в противном случае - становился в конец очереди. Известно, что: спортсменов было N ; сначала они прыгали в порядке своих номеров от 1 до N ; между двумя последовательными неудачами каждый раз было ровно M удачных прыжков; последним сбил планку спортсмен с номером T. Напечатайте номера прыгунов в том порядке, в котором они сбивали планку. (Пример. Если N = 10, M = 3, T = 8, то должны быть напечатаны числа 7, 1, 5, 10, 6, 3, 2, 4, 9, 8).

Задача 6

Трамвайные билеты имеют номера из шести цифр от 000000 до 999999. Билет называется "счастливым", если сумма 1-й, 3-й и 5-й цифр равна сумме 2-й, 4-й и 6-й цифр. Вычислить и напечатать количество "счастливых" билетов.

Второй тур

Задача 7

Дано положительное число K и K целых чисел A1, A2, ..., AK. Вычислить наибольшее возможное значение суммы S(M, N) = AM + AM+1 + ... + AN-1 + AN .

Где: 1 ≤ NMK.

Примечание: число K столь велико, что числа A1, A2, ..., AK занимают примерно одну пятую памяти, отводимой для хранения данных, а на выполнение K2 даже простейших операций не хватает времени.

Модификация: дано положительное целое число K и K целых чисел A1, A2, ..., AK, сумма которых равна 0, числа были написаны по кругу, найти максимальное значение стоящих подряд чисел.

Задача 8

Устройство вывода Вашей ЭВМ печатает на странице N строк, состоящих из M символов. Расстояние между центрами соседих символов равно: по горизонтали - H единиц длины, по вертикали - V единиц. Начало координат находится в центре страницы. "Нарисовать" символом "*" две окружности с центрами X1, Y1, X2, Y2 и радиусами соответственно R1 и R2.

Примечание: Если окружности не умещаются целиком на странице, то "рисовать" надо только те их части, которые умещаются.

Задача 9

Из листа клетчатой бумаги размером M×N клеток удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа?

Пример. Если из шахматной доски удалить все клетки одного цвета, то оставшаяся часть распадется на 32 куска.

Модификация. То же, но перед удалением клеток лист склеили в цилиндр высотой N.