|
ZX Club
#06
31 декабря 1997 |
|
News - Барнаульская олимпиада по информатике 1997 года.

Олимпиада по информатике
════════════════════════
В ноябре 1997 года, как и каждый год,
проходила олимпиада по информатике.
Участие приняли почти все школы. Несмотря
на то, что задания были у всех одинаковые,
баллы ставились каждой группой жюри
по-разному! Меня, ERASER'а, удивило, когда
в школе 101 за все задачи ставили по одно-
му баллу!?!?!? Итоги такой олимпиады соот-
ветствующие. Но перейдем от грустного к
более приятному. Для тех, кому интересно
порешать или просто посмотреть олимпиадные
задачи, предоставляется такая возможность:
Задачи I тура кравевой олимпиады
────────────────────────────────
1.Если человек, стоящий в очереди перед
Вами, был выше человека, стоявшего после
того человека, который стоял перед Вами,
то был ли человек, стоявший перед Вами,
выше Вас?
2.Текст шифруется с помощью таблицы:
каждой цифре сопоставляется одна из трех
букв, расположенных под ней в таблице, а
знаку "*" пробел или одна из букв "ю","я".
Расшифруйте следующий текст:
5343934*150413*6*8156215044414**305041080
┌──┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─┐
│0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │*│
├──┼───┼───┼───┼───┼───┼───┼───┼───┼───┼─┤
│а │ г │ ж │ й │ м │ п │ т │ х │ ш │ ы │ю│
├──┼───┼───┼───┼───┼───┼───┼───┼───┼───┼─┤
│б │ д │ з │ к │ н │ р │ у │ ц │ щ │ ь │я│
├──┼───┼───┼───┼───┼───┼───┼───┼───┼───┼─┤
│в │ е │ и │ л │ о │ с │ ф │ ч │ ъ │ э │ │
└──┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─┘
3.Четыре черепахи, которые находятся в
вершинах квадрата со стороной <а> пикселей
начинают одновременно двигаться с постоян-
ной по деличине скоростью <v>, причем пер-
вая черепаха держит курс на вторую,
вторая - на третью, третья - на четвертую,
четвертая - на первую. Нарисовать путь
движения черепах при разных соотношениях
между <a> и <v>. Вывести на экран траек-
тории движения черепах.
4.Пусть A - 2n-занчное число (первая
цифра не 0). Назовем число A - особым, ес-
ли оно само является точным квадратом и
числа, образованные его первыми n-цифрами
и его последним n-цифрами также являются
точным квадратами (при этом второе число
может начинаться с цифры 0, но не должно
быть равно нулю). Таким числом, например,
явлвется число 49.
а) Найдите все двухзначные и четырех-
значные особые числа;
b) Покажите, что существует хотя бы
одно двадцатизанчное особое число.
5.На алгоритмическом языке написано не-
которое арифметическое выражение. Составь-
те программу, которая выводит на экран со-
общение о наличии синтаксической ошибки в
записи этого выражения. Например, выраже-
ние 23++76 неправильное.
(1) Для записи арифметических выражений
используются только знаки арифметических
операций и цифры.
(2) Ограничения на использование каких-
либо арифметичексих символов отсутствует.
6.Собрался Иван-Царевич на бой со
Змеем-Горынычем, трехглавым и треххвостым.
"Вот тебе меч-кладенец, - говорит ему
баба-Яга. - Одним ударом ты можешь срубить
Змею либо одну голову, либо две головы,
либо один хвост, либо два хвоста. Запомни:
срубишь головы - новая вырастет, срубишь
хвост - два новых вырастут, срубишь два
хвоста - голова вырастет, срубишь две го-
ловы - ничего не вырастет". Составьте про-
рамму моделирования сражения Ивана-Цареви-
ча.
Найдите решение, при котором:
(1) Иван-Царевич побеждает Змей-Горыны-
ча.
(2) Змей-Горыныч побеждает Ивана-Царе-
вича.
(3) Какова оптимальная модель битвы (За
какое наименьшее количество ударов
Иван-Царевич может срубить Змею все го-
ловы и все хвосты).
7.На соревнованиях в бильярдной комнате
участники должны были разложить шары в ви-
де пирамиды, от наиболее тяжелого до само-
го маленького по весу. Приз получил тот
участник, который быстрее выполнил зада-
ние. Он применил способ, который называет-
ся пирамидальной сортировкой. Выполните
это задание, используя данный алгоритм.
Алгоритм:
Пусть задан массив S(1),S(2),...,S(n) (1)
Пирамидой называется непустая последо-
вательность элементов (1)
вида S(p),S(p+1),...,S(p)(1<=p<=q<=n)
для которой выполнено одно из следующих
условий.
1) 2p>q
2) 2p=q и S(p)>=S(q)
3) 2p<q и
S(j)>=S(2j)(p<=j<=q/2)
S(j)>=S(2j+1)(p<=j<=(q-1)/2)
Из определения вытекает утверждение:
1.Для любой последовательности (1) подпос-
ледовательность
S(n2+1),S(n2+2),...,S(n)
является пирамидой. Знаком обозначается
деление нацело.
2.Если последовательность (1)-пирамида, то
S(1)>=max S(j)
1<=j<=n
3.Если последовательность (1)-пирамида, то
значение любого узла будет не меньше зна-
чений его левого и правого потомков.
Пример: Последовательность 90,70,11,8,3,9,
7,5,6,1,2 - является пирамидой.
90 Пояснение:
/ 90-имеет потомков: 70 и 11
70 11 70-имеет потомков: 8 и 3
/ / 11-имеет потомков: 9 и 7
/ 9 7 8-имеет потомков: 5 и 6
8 3 3-имеет потомков: 1 и 2
/ /
5 6 1 2
Алгоритм построения пирамидальной сорти-
ровки:
Этап I. Построени пирамиды. В (1) "хвост",
т.е. подпоследовательность
S(n2+1),S(n2+2),...S(n) (4)
как мы уже отмечали, является пирамидой.
Будем наращивать (4), добавляя к ней ос-
тавшиеся элементы из (1). Пусть S(j+1),
S(j+2),...,S(n)-пирамида. Припишем к ней
слева элемент S(j):
S(j),S(j+1),...,S(n)
и преобразуем (5) снова в пирамиду. Для
этого "просеем" S(j) по соответствующей
веточке. Делается это так. Рассмотрим S(j)
и два его потомка S(2j) и S(2j+1).Если
S(j) не меньше потомков, то вычисление
прекращаем, ибо (5)-уже пирамида. В про-
тивном случае обмениваем значение S(j) и
max(S(2j), S(2j+1)) в соответствующих по-
зициях и "опустившийся" элемент продолжаем
просеивать тем же самым способом. В конце
концов преобразованная последовательность
(5) станет пирамидой.
Продолжая наращивание (5), превратим
весь массив (1) в пирамиду. При этом ока-
жется выполненным неравенство (3).
Объявлвем получнную пирамиду S текущей
и переходим к следующему этапу.
Этап II. Сортировка пирамиды. В текущей
пирамиде S первый элемент не меньше ос-
тальных. Поступим с ним так. Обменяем зна-
чениями концевые элементы S и укоротим S
справа на 1. Полученная последовательность
уже может и не быть пирамидой. Применим к
ней процесс "просеивания" для элемента
S(1), описанный на этапе I. Преобразован-
ная последовательность S становится пира-
мидой. Повторяя этап II(n-1) раз, отсор-
тируем S по невозрастанию.
8.Не допуская разрыва ('не отвывая ка-
рандаша от бумаги') и не проходя дважды
по одной линии нарисовать n-пятиконеч-
ных звезд. Вывести на экран.
_/__/__/__/__/__/__/_
/ / / / / / /
│/││/││/││/││/││/││/│
9.Составить рекурсивный алгоритм рисо-
вания окружностей следующего вида: цент-
ральная окружность радиуса R, на этой ок-
ружности симметрично располагаются 4 ок-
ружности радиуса R/2 каждая. На каждой из
этих 4-х окружностях строятся еще 4 - ана-
логичным образом. И т.д. Рисование прекра-
щается, если радиус последних окружностей
становится меньше некоторого числа <k>.
ERASER
Другие статьи номера:
Похожие статьи:
В этот день... 13 ноября