Факультет математики и компьютерных наук, история


Областная олимпиада по программированию

(30 января 2003 г.)


Задачи


1. "Спираль".

Робот-минер новейшей конструкции способен провести разминирование местности, план которой должен быть представлен в виде прямоугольника с целыми длинами сторон n - высота прямоугольника, m - длина прямоугольника. Перед началом работы робота размещают перед левой верхней клеткой прямоугольника в направлении "слева - направо", после чего робот начинает обход и разминирование, двигаясь по спирали по часовой стрелке (см. рис.). При этом спираль постепенно "закручивается" вовнутрь, захватывая все клетки прямоугольника. Разминирование заканчивается, когда проверены все клетки.

Требуется написать программу, которая для заданных исходных данных определяет количество поворотов, которые должен выполнить робот в процессе разминирования.
Технические требования:
Имя входного файла: INPUT. TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: 1 секунда на один тест.
Формат входных данных:
Входной файл INPUT.TXT содержит два целых числа, расположенных в одной строке в следующем порядке: n, m (1 < n, m<32767). Числа в строке разделены пробелами.
Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать одно целое значение - количество поворотов.
Пример файла входных и выходных данных:

INPUT.TXT

OUTPUT.TXT

3 4 4

2. "шыгревереП". атЭ ачадаз - яанноицидартен. ьседЗ ен о нас и пан, отч оннеми ыв ынжлод ьталедс с мындохси мывотскет молйаф, мищажредос еикснитал и еикссур ывкуб, а ежкат еигурд еынжомзов иканз (ырфиц, иканз яинаниперп и cte). ыМ окьлот мищбоос, отч ьседз доп моволс, мищажеддоп юинавозарбоерп, ястеаминоп ьтсоньлетаводелсоп хикснитал и хикссур (ациллирик) воловмис (омисивазен то артсигер), ясяащюавичнаказ обил моцнок икортс, обил моцнок алйаф, обил моловмис, мынчилто то ывкуб.
катИ, етишипан уммаргорп, яароток тедевирп тов йокат "йыннечропси" тскет к умоньламрон удив.

Технические требования:
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: 3 секунды на один тест
Формат входных данных: Входной файл содержит некоторый текст, содержащий не более 1000 строк, длина каждой из которых не превышает 255 символов. В тексте могут быть любые печатные символы.
Слово - это набор символов между разделителями. Разделителями в тексте могут быть пробелы, концы строк, знаки препинания, цифры.
Формат выходных данных: Выходной файл содержит закодированный текст.
Пример файлов входных и выходных данных:

INPUT.TXTOUTPUT.TXT
Это пример простого теста. Если Вы еще не поняли, то запишите буквы каждого слова в обратном порядке. Кстати, применение алгоритма "переворачивания" слов дважды приводит к восстановлению исходного теста. отЭ ремирп оготсорп атсет. илсЕ ыВ еще ен иляноп, от етишипаз ывкуб огоджак аволс в монтарбо екдяроп. итатсК, еиненемирп амтирогла "яинавичаровереп" волс ыджавд тидовирп к юинелвонатссов огондохси атсет.

3. "Магическая математика" В связи с новейшими исследованиями в области нетрадиционных наук в школе Хогварц появился новый предмет - магическая математика. На нем юных магов начали учить, как использовать математические знания дня колдовства.

Один из видов колдовства заключался в следующем. Есть некая магическая прямоугольная таблица чисел. Колдун должен уметь очень быстро вычислять сумму чисел в любом прямоугольнике внутри этой таблицы я называть ее вслух. Эта задача оказалась для учеников не такой уж простой, и "злобные" учителя начали мучить юных магов огромными домашними заданиями. Чтобы облегчить себе жизнь, юные маги обратились за помощью к учащимся информационного лицея, которые обещали решить эту задачу с использованием современных информационных технологий.

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

Технические требования:
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: 3 секунды на каждый тест
Формат входных данных:
Входной файл INPUT.TXT состоит из следующей последовательности строк. В первой строке записаны числа N и M (1 < N, M <= 100) - число строк и число столбцов в магической таблице. Затем в N строках описывается сама магическая таблица (элементы таблицы - целые числа, по модулю не превышающие 1000). В последующих строках содержатся описания прямоугольников внутри матрицы, сумму чисел в которых требуется посчитать: сначала идет строка с числом таких прямоугольников - К (1 < K <= 500000), после этого идут строки, задающие сами прямоугольники. Каждый прямоугольник задается в отдельной строке четырьмя числами - L, V, R, D, где (L, U) - координаты левой верхней клетки прямоугольника (сначала задается номер строки, затем - номер столбца), (R,D) - координаты правой нижней клетки прямоугольника. Столбцы нумеруются, начиная с единицы, слева направо, строки - сверху вниз. Числа в каждой строке файла разделены одним пробелом.
Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать суммы чисел для заданных во входном файле прямоугольников в том же порядке, в котором они там описаны. Названные элементы в выходном файле должны размещаться на отдельных строках.

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

INPUT.TXTOUTPUT.TXT
3 4
1 2 3 4
5 6 7 8
1 1 1 1
3
1 1 1 1
2 1 3 2
1 1 3 4
1
13
40

4. "Укладка кирпичей"

Строители должны вымостить кирпичами очередную прямоугольную площадку размером m*n. В целях надежности эта площадка должна быть вымощена таким образом, чтобы ни один ее кирпич полностью не соприкасался с каким-либо, кирпичом предыдущей площадки. Если кирпич представить в виде прямоугольника размером 1*2, на каждой половинке которого указан его порядковый номер, то расположение кирпичей на площадке можно изобразить, как показано на рисунке. При этом в левой части рисунка изображена исходная (нижняя) площадка размером 2*4, а справа - площадка, которую строители могут вымостить с учетом сделанных ограничений (верхняя площадка).

Требуется написать программу, которая по расположению кирпичей в исходной площадке определяет их возможное расположение в очередной площадке, которую необходимо вымостить строителям над исходной площадкой.
Технические требования:
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: 3 секунды на один тест
Формат входных данных:
Входной файл INPUT.TXT содержит следующую последовательность строк. В первой строке записаны два целых числа n и m, определяющие размеры площадки (n,m - четные числа, не превосходящие 100). Далее следуют n строк, в каждой их которых содержится по m чисел, указывающих расположение кирпичей в исходной площадке. При этом каждый кирпич представляется двумя одинаковыми числами, расположенными в клетках площадки, покрытых данным кирпичом. Все кирпичи пронумерованы натуральными числами от 1 до их общего количества. Числа в каждой строке файла разделены пробелами.
Формат выходных данных: OUTPUT.TXT должен содержать одно число "-1", если решение не существует. В противном случае, он должен содержать n строк, в каждой из которых должно находиться по m чисел, указывающих в вышеуказанном формате расположение кирпичей в площадке, которую строителям необходимо вымостить. Числа в каждой строке файла должны быть разделены одним пробелом.

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

INPUT.TXT

OUTPUT.TXT
2 4
1 1 2 2
3 3 4 4
2 1 1 4
2 3 3 4

УДАЧИ ВАМ!


Результаты олимпиады

N Фамилия, имя Город Школа Задачи СуммаМесто
1 Лазарев Илья Иваново 30 7 7 5 3 22 1
2 Харин Максим Иваново 22 6 1 6 7 20 2
3 Закреев Антон Кохма 5 7 0 4 7 18 3
4 Великодный Виталий Кохма 44 7 5 5 1 18 3
5 Жульков Алексей Иваново 23 4 4 5 4 17 3
6 Голубев Алексей Шуя 7 7 0 5 2 14 поощ
7 Лукичев Андрей Иваново 28 6 0 5 2 13 поощ
8 Масюк Алексей Кохма СЮТ 7 - 5 - 12 поощ
9 Королев Николай Иваново 36 6 0 5 1 12 поощ
10Коновалов А. Фурманов 1 5 1 5 0 11 поощ
11Копранов Вова Иваново 33 5 0 4 - 9  
12Щербакова Светлана Шуя Гимназия 1 6 0 2 0 8  
13Шмыгаев Петр Ст. Вичуга Ст. вичугская школа 7 - 1 0 8  
14Метлов Михаил Фурманов 1 0 4 0 3 7  
15Крайнов Максим Плесс Плесская СОШ 5 - 0 0 5  
16Бугров Михаил Кинешма 17 5 - - - 5  
17Меньшаков Александр Иваново 33 4 0 0 1 5  
18Конюшенко Дмитрий Иваново 21 4 0 0 - 4  
19Томин Дмитрий Иваново 33 3 1 0 - 4  
20Горячев Максим Иваново 44 3 0 - 0 3  
21Данилин Алексей Иваново 67 2 0 - - 2  
22Филатов Сергей Иваново 23 - 2 - - 2  
23Печенин Алексей Каменский Каменская школа 0 - - 1 1  
24Шептуковский Василий Шуя 7 1 0 0 - 1  
25Ивакин Александр Кинешма 17 1 - - - 1  

Все решения, сданные участниками олимпиады, можно взять здесь src_o.zip (48К байт)

ИвГУ: Математический факультет. Главная страница