4.Поджигатель

advertisement
4.Поджигатель
Маленький мальчик вырезал из клетчатой бумаги многоугольник, причем все разрезы шли
по сторонам клеток. Ему любопытно, за какое время сгорит многоугольник, если поджечь его в
определенной вершине. Бумага горит равномерно во всех направлениях, и скорость
распространения огня равна 1 стороне клетки в секунду.
Напишите программу, которая определяет, какое время пройдет, прежде чем
многоугольник сгорит полностью.
Входные данные
В первой строке файла INPUT.TXT находится количество сторон многоугольника N
(4≤N≤500). В следующих N строках идет описание многоугольника – в каждой строке даны
координаты одной вершины (в порядке обхода периметра многоугольника). Многоугольник
поджигается в первой вершине. Координаты всех вершин задаются как два целых числа,
разделенных пробелом, не превосходящих по абсолютной величине 10000. Описание корректно
– стороны многоугольника не пересекаются, и каждая вершина соединяет две взаимно
перпендикулярные стороны.
Выходные данные
В единственной строке файла OUTPUT.TXT должно находиться одно действительное число
– количество секунд, которые пройдут до полного сгорания многоугольника. Допустима ошибка,
не превосходящая 0,001% от правильного ответа.
Примеры
INPUT.TXT
4
3 0
3 4
0 4
0 0
INPUT.TXT
8
1 1
2 1
2 3
4 3
4 5
3 5
3 4
1 4
OUTPUT.TXT
0.500E+01
OUTPUT.TXT
5.064495
5.Школа
В классе за каждой партой сидит два школьника. Для каждой парты известен ее уровень
«контролируемости», а для каждого ученика - его уровень «послушности». Чтобы улучшить
дисциплину на уроках, учительница решила пересадить школьников так, чтобы
 за каждой партой сидели ровно два школьника;
 «послушность» одного из школьников, сидящих за партой, была строго меньше
«контролируемости» этой парты, а «послушность» другого – строго больше.
Каждую парту, для которой эти условия удалось выполнить, учительница называет
хорошей, а для которой не удалось выполнить – плохой.
Напишите программу, которая выясняет наименьшее возможное количество плохих парт в
классе.
Входные данные. В первой строке файла INPUT.TXT находится одно целое
положительное число N – количество парт в классе, 1<=N<=100000. Каждая из следующих N
строк содержит три целых положительных числа: первое число – это уровень
«контролируемости» парты, а два других – уровни «послушности» сидящих за партой
школьников. Соседние числа в строке разделены пробелом. Все числа во входном файле не
превосходят 2000000000.
Выходные данные. В единственной строке файла OUTPUT.TXT следует выводить одно
целое неотрицательное число - наименьшее возможное количество плохих парт.
Примеры
INPUT.TXT
5
10 2 5
2 1 3
5 8 11
6 7 8
2 3 1
OUTPUT.TXT
0
INPUT.TXT
2
4 5 4
4 3 6
OUTPUT.TXT
1
6. Сороконожка
Напомним, что деревом называется связный (неориентированный) граф, в котором нет ни
одного замкнутого маршрута (цикла).
Сороконожка – это дерево, которое состоит только из туловища и ножек. Туловищем
назовем любой путь в дереве. Ножкой назовем любое ребро (вместе с вершинами),
соединяющее вершину туловища с вершиной, не принадлежащей туловищу. Размером
сороконожки назовем количество вершин в ней.
Граф, изображенный на рисунке слева, является сороконожкой (черные вершины
принадлежат туловищу) размера 8, а два других графа сороконожками не являются.
Напишите программу, которая определяет наибольший возможный размер сороконожки,
которую можно получить из данного дерева, удалив из него некоторые вершины (или не удаляя
ни одной вершины, если данное дерево является сороконожкой) вместе со всеми ребрами,
выходящими из них.
Например, из дерева, изображенного в середине рисунка, можно получить сороконожку
размера 9.
Входные данные. В первой строке файла INPUT.TXT находится одно целое
положительное число N – количество вершин в дереве (1<=N<=106). Вершины пронумерованы
натуральными числами от 1 до N. Каждая из следующих (N-1) строк содержит два целых
положительных числа, не превосходящих N, разделенных пробелом, - номера вершин,
соединенных ребром.
Выходные данные. В единственной строке файла OUTPUT.TXT следует выводить одно
целое неотрицательное число – наибольший размер сороконожки, который может быть
получен.
Пример
INPUT.TXT
10
1 2
2 3
4 2
4 5
6 5
5 7
6 8
6 9
7 10
OUTPUT.TXT
9
Download