в выражении используются только натуральные числа;
выражение заканчивается знаком "=".
допустимые операторы и их приоритет:
о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, |
а эффективность решения (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 раз)
о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) суммой натуральных чисел. Перестановка слагаемых нового варианта не дает.
Построить на экране k различных непрерывных разрезов этого поля на два клеточных поля равной площади. Разрез должен проходить по границам клеток. Пример разреза.
Найти все возможные непрерывные разрезы на поля равной площади.
о94_7Даны две непустые строки символов X и Y. Строчными (маленькими) буквами обозначаются переменные. Переменные могут быть только в строке X. Значением переменной может быть непустая строка символов без строчных букв.
Задача заключается в определении значений переменных так, чтобы после подстановки их значений в строку X она совпала со строкой Y.
Пример 1. X="tGqtt", Y="RIGPORYRIRI".
Совпадение возможно, если t="RI", q="PORY"&
Требования: