ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Выбрано 2 задачи
Версия для печати
Убрать все задачи

Максимальное время работы на одном тесте: 1 секунда

На плоскости задано N векторов - направленных отрезков, для каждого из которых известны координаты начала и конца (вектор, у которого начало и конец совпадают, называется нуль-вектором, можно считать, что нуль-вектор лежит на любой прямой, которая через него проходит). Введем следующие три операции над направленными отрезками на плоскости:

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

2) Направленные отрезки, лежащие на одной прямой, также можно заменить на их сумму. Для этого один из отрезков (любой) нужно перенести в начало второго из них и сложить по правилу сложения векторов на прямой:

Это правило применимо и в случае, когда один из векторов, или даже оба, являются нуль-векторами.

Заметим, что если складываемые векторы противоположно направлены и имеют одну и ту же длину, то результатом их сложения является нуль-вектор.

3) В любой точке плоскости можно породить два противоположно направленных отрезка равной (в том числе и нулевой) длины:

Будем говорить, что некоторая система векторов B эквивалентна системе A, если от системы A можно перейти к B с помощью конечной последовательности перечисленных выше операций.

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

Формат входных данных

В первой строке входного файла f.in записано число N - количество заданных векторов (1 < N ≤ 1000). В каждой из следующих N строк через пробел записаны четыре числа, обозначающие координаты начала и конца каждого из векторов соответственно. Все координаты - целые числа, по модулю не превосходящие 1000.

Формат выходных данных

В первой строке входного файла f.out следует записать число M - количество векторов в полученной системе (1 ≤ MN). В каждой из следующих M строк через пробел должны находиться четыре числа, обозначающие координаты начала и конца каждого из векторов соответственно. Все координаты - вещественные числа, записанные с 6 цифрами после точки.

Примеры

f.in

f.out

3

1 1 1 3

3 3 3 1

5 1 7 1

1

3.000000 3.000000 5.000000 3.000000

2

2 4 5 10

-2 -4 -5 -10

1

2.000000 4.000000 2.000000 4.000000

Вниз   Решение


Где-то в далеком царстве-государстве жил-поживал король. Он унаследовал небольшое собрание редких и весьма ценных деревьев. Для того, чтобы обезопасить свою коллекцию от злоумышленников, король приказал возвести вокруг нее высокий забор. Главный королевский колдун был назначен ответственным за исполнение этого поручения.

Увы! Колдун быстро обнаружил, что единственный подходящий материал для постройки забора – это сами деревья. Другими словами, необходимо срубить некоторые деревья для того, чтобы построить забор вокруг оставшихся. Естественно, чтобы сберечь свою голову, колдун захотел минимизировать стоимость срубленных деревьев. Он поднялся в свою башню и оставался там до тех пор, пока не придумал наилучшее возможное решение.

Вы должны написать программу, решающую задачу, с которой столкнулся главный королевский колдун. Постройте такое подмножество деревьев с наименьшей суммарной стоимостью, что, срубив деревья из этого подмножества, можно построить один забор, огораживающий все оставшиеся деревья. Если существует более одного подмножества с минимальной стоимостью, выберите то, в котором меньше деревьев.

Входные данные

В первой строке входного файла записано целое число N – количество деревьев в королевском лесу (2 ≤ N ≤ 14). Деревья нумеруются
последовательными целыми числами от 1 до N. Каждая из последующих N строк содержит четыре целых числа xi, yi, vi, li, описывающих очередное дерево. (xi, yi) – это координаты дерева на плоскости, vi – его стоимость, а li – длина забора, который может быть построен из этого дерева. Все числа vi, li, а также абсолютные величины xi и yi – целые числа из диапазона [0, 10000]. Считается, что деревья имеют нулевой радиус.

Выходные данные

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

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

6
0 0 8 3
1 4 3 2
2 1 7 1
4 1 2 3
3 5 4 6
2 3 9 8

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

2 4 5
3.16

Вверх   Решение

Задачи

Страница: 1 [Всего задач: 5]      



Задача 87112

Темы:   [ Неравенства с трехгранными углами ]
[ Полярный трехгранный угол ]
Сложность: 4
Классы: 10,11

Докажите, что сумма внутренних двугранных углов трёхгранного угла больше 180o и меньше 540o .
Прислать комментарий     Решение


Задача 108848

Темы:   [ Теоремы синусов и косинусов для трехгранных углов ]
[ Полярный трехгранный угол ]
Сложность: 4
Классы: 8,9

Пусть α , β , γ – плоские углы трёхгранного угла SABC с вершиной S , противолежащие рёбрам SA , SB , SC соответственно; A , B , C – двугранные углы при этих рёбрах. Докажите, что

cos α = , cos β = , cos γ = .

Прислать комментарий     Решение

Задача 108849

Темы:   [ Теоремы синусов и косинусов для трехгранных углов ]
[ Полярный трехгранный угол ]
Сложность: 4
Классы: 8,9

Все двугранные углы некоторого трёхгранного угла – острые. Докажите, что все его плоские углы – также острые.
Прислать комментарий     Решение


Задача 115947

Темы:   [ Неравенства с трехгранными углами ]
[ Полярный трехгранный угол ]
Сложность: 4
Классы: 10,11

Докажите, что сумма угловых величин всех двугранных углов тетраэдра больше 360o .
Прислать комментарий     Решение


Задача 105166

Темы:   [ Двугранный угол ]
[ Векторы помогают решить задачу ]
[ Скалярное произведение ]
[ Проектирование помогает решить задачу ]
[ Многогранники и многоугольники (прочее) ]
[ Выпуклые тела ]
[ Полярный трехгранный угол ]
[ Неравенства с трехгранными углами ]
Сложность: 6
Классы: 10,11

У выпуклого многогранника внутренний двугранный угол при каждом ребре острый. Сколько может быть граней у многогранника?
Прислать комментарий     Решение


Страница: 1 [Всего задач: 5]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .