Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / okulov / okulov / chapter4.DOC
Скачиваний:
50
Добавлен:
10.12.2013
Размер:
2.38 Mб
Скачать
  • в выражении используются только натуральные числа;

  • выражение заканчивается знаком "=".

  • допустимые операторы и их приоритет:

    о93_1Пункты с номерами 1,2,...,N (N <=50) связаны сетью дорог, длины которых равны 1. Дороги проходят на разной высоте и пересекаются только в пунктах. В начальный момент времени в некоторых пунктах находятся M роботов. Все роботы начинают двигаться с постоянной скоростью 1. Останавливаться или менять направление они могут только в пунктах.

    а)Требуется найти минимальное время Т1, через которое все роботы могут встретиться в одном пункте, указать этот пункт или сообщить, что такая встреча невозможна.

    б) Если встреча возможна, то найти время Т2<=T1, через которое встреча может произойти и вне пунктов.

    в) Пусть роботам запрещена какая-либо остановка, и скорость равна 1 или 2. При этих условиях найти минимальное время Т, через которое произойдет их встреча, или сообщить, что встреча невозможна.

    Примечания:

  • Для задачи (в) можно указать, что М равно 2 или 3.

  • При решении задач (а) и (б) данные о скоростях игнорируются.

    о93_2В таблице N*N, где N<13, клетки заполнены случайным образом цифрами от 0 до 9.

    Найти маршрут из клетки А[1,1]в клетку А[N,N], который удовлетворяет следующим условиям:

  • состоять из отрезков, соединяющих центры клеток, имеющих общую сторону;

  • длина маршрута минимально возможная;

  • из всех маршрутов, удовлетворяющих условиям 1 и 2, искомый маршрут тот, сумма цифр в клетках которого максимальна.

    Организовать ввод данных для таблицы и вывод маршрута как последовательности пар координат клеток, через которые он проходит (первая координата - номер столбца, вторая - номер строки).

    о93_3Координаты всех домов в городе заданы парой целых чисел, таких, что любой из домов можно однозначно изобразить в виде точки на мониторе компьютера. Мэрия решила выделить средства на постройку кольцевой автодороги вокруг города. Изобразить на экране дорогу минимальной длины в виде прямых отрезков, соединяющих дома, мимо которых должна пройти дорога, при условии, что внутри дороги окажутся все остальные дома города.

    о93_4Бумажная полоска разбита на N<=40 клеток. Двое играющих по очереди выбирают и зачеркивают К<=N пустых смежных клеток. Выигрывает сделавший последний ход. Запросить числа N и К и написать программу:

  • позволяющую играть в описанную игру 2 игрокам;

  • написать программу, которая бы сама играла либо за первого, либо за второго игрока (программа запрашивает, за кого она будет играть). В обоих случаях каждый ход должен отображаться на экране. В случае 1 программа должна показывать, чей сейчас ход.

    4.6. Олимпиада - 94

r94_1 Для заданной целочисленной матрицы найти максимум среди сумм элементов диагоналей, параллельных главной диагонали. Программа должна находить решение для любых матриц N*M (0£N, M£10).

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

Примечания.

  • количество чисел в последовательности N (0<N<=10);

  • числа последовательности вводятся с клавиатуры. Наименьшее общее кратное чисел - это наименьшее число, которое без остатка делится на каждое число последовательности.

    r94_3 На расстоянии N шагов от магазина винно-водочных изделий стоит Алкоголик. Каждую минуту он выбирает, куда сделать шаг: к магазину или в противоположном направлении. Сколько способов у Алкоголика попасть в магазин, пройдя ровно K шагов?

    Ограничения: N<=10, K<=20.

    r94_4 Доска 8*8 раскрашена в два цвета: белый и черный. Необходимо пройти из левого нижнего угла в правый верхний так, чтобы цвета клеток перемежались. За один ход разрешается перемещаться на одну клетку по вертикали или горизонтали.

    Программа должна (если путь существует):

  • находить хотя бы один путь;

  • находить путь минимальной длины.

    r94_5 Дана матрица N*N(N<=10), состоящая из целых чисел. За одну операцию разрешается изменить знаки всех чисел произвольно выбранной строки или столбца на противоположные. Требуется сделать суммы чисел во всех строках и столбцах неотрицательными.

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

    о94_1Массив A[1..N,1..M] упорядочен по неубыванию по строкам и по столбцам, т.е. A[i,1]<=A[i,2]<=...<=A[i,M] при всех i=1,...,N и A[1,j]<=A[2,j]<=...<=A[N,j] при всех J=1,...,M. Определим C[i,j] как элемент массива C[1..N,1..M], равный количеству операций сравнения при поиске элемента X, равного A[i,j], в массиве A. Эффективность решения задачи поиска будем оценивать (ls) частным от деления суммы элементов массива C на количество элементов (N*M).

    Например, если

1

3

5

А=

2

4

6

3

7

8

1

2

3

C=

4

5

6

7

8

9,

и мы используем для поиска элементов "лобовой" просмотр массива A, то С будет иметь вид:

а эффективность решения (1+2+3+4+5+6+7+8+9)/9=5.

Разработать программу, обеспечивающую:

  • ввод массива A и вывод его на экран;

  • эффективный поиск в массиве A (оценивается значением ls);

  • вывод массива C и значения ls.

    о94_2Даны две строки символов X и Y. Назовем расстоянием между X и Y (r[X,Y]) количество символов, которыми X и Y различаются между собой.

    Например: Если X="abcd", Y="dxxc" то r[X,Y]=4.

    Написать программу, определяющую расстояние между строками.

    о94_3Написать рекурсивную программу вывода на экран следующей картинки:

AAAAAAAAA.............................AAAAAAAAA (N раз)

BBBBBBB...............................BBBBBBB (N-4 раза)

CCCСС.............................CCCCC

DDD............................DDD

.............................

III..............................IIII (N-32 раза)

J. ............................J (N-36 раз)

III.............................III (N-32 раза)

............................

DDD.............................DDD

CCCCС..............................CCCCC

BBBBBBB.................................BBBBBBB (N-4 раза)

AAAAAAAAAA............................AAAAAAAAA (N раз)

Примечание. Значение N определяется исходя из возможностей монитора Вашего компьютера.

о94_4Черепашка находится в городе, все кварталы которого имеют прямоугольную форму и ей необходимо попасть с крайнего северо-западного перекрестка на крайний юго-восточный. Пример.

На некоторых улицах проводится ремонт и по ним запрещено движение (например, между 3 и 7 перекрестками, 5 и 6, 10 и 11), длина, а значит и стоимость проезда, по остальным улицам задается. Кроме того, для каждого перекрестка определена стоимость поворота. Так, если Черепашка пришла на 7-й перекресток и поворачивает к 11-му, то она платит штраф, а если идет в направлении 8-го, то платить ей не приходится. Найти для Черепашки маршрут минимальной стоимости.

Исходные данные:

  • N - количество перекрестков, определяется через два числа l,m и N=l*m (1<l,m<11);

  • Длина улиц (стоимость проезда) и стоимость поворота на перекрестках - целые числа.

    о94_5Написать рекурсивную программу представления натурального числа N (0<N<=8) суммой натуральных чисел. Перестановка слагаемых нового варианта не дает.

о94_6Задано прямоугольное клеточное поле N*M (2<=N,M<8) и число k.

Построить на экране k различных непрерывных разрезов этого поля на два клеточных поля равной площади. Разрез должен проходить по границам клеток. Пример разреза.

Найти все возможные непрерывные разрезы на поля равной площади.

о94_7Даны две непустые строки символов X и Y. Строчными (маленькими) буквами обозначаются переменные. Переменные могут быть только в строке X. Значением переменной может быть непустая строка символов без строчных букв.

Задача заключается в определении значений переменных так, чтобы после подстановки их значений в строку X она совпала со строкой Y.

Пример 1. X="tGqtt", Y="RIGPORYRIRI".

Совпадение возможно, если t="RI", q="PORY"&

Требования:

Соседние файлы в папке okulov