Страница: << 1 2 [Всего задач: 8]
(Из книги Д. Гриса) Дан массив целых чисел
x[1]..x[m+n], рассматриваемый как соединение двух его
отрезков: начала x[1]..x[m] длины m и конца
x[m+1]..x[m+n] длины n. Не используя дополнительных
массивов, переставить начало и конец.
(Число действий порядка
m + n.)
[Пересечение многоугольников
]
|
|
Сложность: 3+ |
Два многоугольника на плоскости заданы координатами своих вершин.
Требуется вычислить площадь пересечения этих многоугольников, то есть
сумму площадей тех кусков, которые образуются при их пересечении и
принадлежат каждому из них. При этом вы можете предполагать, что:
А) Многоугольники выпуклые, а координаты их вершин даны в произвольном
порядке.
Б) Хотя бы один из многоугольников невыпуклый, но известно, что у каждого
из многоугольников не более одного угла, большего 180 градусов, а координаты
вершин даны в порядке обхода по часовой стрелке.
Ваша программа по входным данным должна сама определить, какой из этих
двух случаев имеет место.
Входные данные
Первая строка входного файла содержит целое число N – количество вершин в
первом многоугольнике (3 ≤ N ≤ 50). Во второй строке записаны координаты
этих вершин. Третья и четвертая строки таким же образом задают второй
многоугольник. Координаты всех вершин являются целыми числами из
диапазона [-32768, 32767].
Выходные данные
Выведите в выходной файл искомую площадь не менее чем с 6 верными
значащими цифрами.
Пример входного файла
3
0 3 0 -3 -3 0
5
-1 1 2 1 1 0 2 -1 -1 -1
Пример выходного файла
2.0
[Шагающий многоугольник
]
|
|
Сложность: 4- |
На плоскости заданы выпуклый многоугольник M и точка P(x, y). За один ход
разрешается центрально-симметрично отразить многоугольник относительно
середины любой из его сторон. Требуется найти последовательность ходов, в
результате которой точка P оказалась бы накрытой этим многоугольником.
Входные данные
Во входном файле записано количество вершин многоугольника N (3 ≤
N ≤ 20) и координаты точки x и y. Далее перечислены координаты вершин
многоугольника в порядке обхода по часовой стрелке. Все координаты – целые
числа, не превосходящие по абсолютной величине 105.
Выходные данные
Если точку P накрыть нельзя, запишите в выходной файл сообщение
«Impossible». В противном случае выведите в него последовательность
ходов, после выполнения которой многоугольник M накроет точку P. Каждый
ход задается номерами вершин той стороны, относительно середины которой
производится преобразование центральной симметрии. Вершины
многоугольника нумеруются начиная с 1.
Пример входного файла
3 3 2
0 1 1 2 1 0
Пример выходного файла
2 3
3 1
2 3
Страница: << 1 2 [Всего задач: 8]