Страница:
<< 43 44 45 46
47 48 49 >> [Всего задач: 277]
Издевательство
Эпиграф:
Штирлиц ехал на машине, увидел голосующего Бормана, и проехал мимо.
Через некоторое время он снова увидел голосующего Бормана,
и снова проехал мимо. Вскоре он опять увидел голосующего Бормана.
-Издевается! - подумал Борман.
-Кольцевая! - догадался Штирлиц.
В городе N площадей. Любые две площади соединены между собой ровно одной
дорогой с двусторонним движением. В этом городе живет Штирлиц.
У Штирлица есть хобби - он любит воскресным утром выйти из дома,
сесть в машину, выбрать какой-нибудь кольцевой маршрут, проходящий ровно
по трем площадям (то есть сначала он едет с какой-то площади на
какую-то другую, потом - на третью, затем возвращается на начальную,
и опять едет по этому маршруту). Он воображает, что где-то на этом
пути стоит Борман. И так вот ездит Штирлиц все воскресенье, пока голова
не закружится, и радуется...
Естественно, что Штирлицу хочется проезжать мимо точки, в которой,
как он воображает, стоит Борман, как можно чаще. Для этого, естественно,
выбранный Штирлицем маршрут должен быть как можно короче. Напишите
программу, которая выберет оптимальный для Штирлица маршрут.
Входные данные
Во входном файле INPUT.TXT записано сначала число N (3<=N<=100), а затем
матрица NxN расстояний между площадями (число в позиции i,j
обозначает длину дороги, соединяющей i-ую и j-ую площади).
Все числа в матрице (кроме стоящих на главной диагонали) - натуральные,
не превышающие 1000. Матрица симметрична относительно главной диагонали,
на главной диагонали стоят 0.
Выходные данные
В выходной файл OUTPUT.TXT выведите номера площадей в оптимальном маршруте.
Если маршрутов несколько, выведите любой из них.
Пример файла INPUT.TXT
5
0 20 10 30 40
20 0 30 1 2
10 30 0 40 1000
30 1 40 0 21
40 2 1000 21 0
Пример файла OUTPUT.TXT
4 5 2
Треугольник
На плоскости даны N точек. Никакие две точки не совпадают,
никакие три не лежат на одной прямой. Найдите треугольник с вершинами
в этих точках, имеющий наименьший возможный периметр.
Входные данные
Во входном файле INPUT.TXT записано сначала число N - количество
точек (3<=N<=50), а затем N пар вещественных чисел, задающих координаты точек.
Выходные данные
В выходной файл выведите три числа - номера точек,
которые должны быть вершинами треугольника, чтобы его периметр был
минимален. Если решений несколько выведите любое из них.
Примечание
Если у вас есть две точки, и координаты одной из них X1,Y1,
а другой X2,Y2, то расстояние R между ними можно вычислить по формуле:
R:=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
Здесь R должна быть переменной вещественного типа (например, real),
а sqrt - стандартная функция, вычисляющая квадратный корень.
Пример файла INPUT.TXT
5
0 0
1.3 0
-2 0.1
1 0
10 10
Пример файла OUTPUT.TXT
1 2 4
Та же задача, но разрешается использовать из арифметических
операций лишь сложение и вычитание, причём общее число
действий должно быть порядка
n.
Даны два возрастающих массива
x: array[1..k] of
integer и
y: array[1..l] of integer. Найти
количество общих элементов в этих массивах, то есть
количество тех целых
t, для которых
t =
x[
i] =
y[
j] для некоторых
i и
j. (Число действий
порядка
k +
l.)
Решить
предыдущую задачу, если про массивы известно лишь,
что
x[
1]
≤...
≤x[
k]
и
y[
1]
≤...
≤y[
l] (возрастание заменено
неубыванием).
Страница:
<< 43 44 45 46
47 48 49 >> [Всего задач: 277]