Автор: | Жюри всероссийских зимних сборов школьников 2007-2008 | Ограничение времени: | 2 сек | |
Входной файл: | minarea.in | Ограничение памяти: | 64 Мб | |
Выходной файл: | minarea.out | |||
Максимальный балл: | 100 |
Примечание. Формат данной задачи не поддерживается в CATS. Предоставляется лишь текст условия для ознакомления. Ограничение по времени игнорировать. Подразумевается, что полученная программа должна завершить работу втечение пятичасового тура.
Рассмотрим n точек на плоскости внутри или на границе единичного квадрата. Построим все треугольники с вершинами в этих точках и вычислим площадь каждого из них. Расположите точки так, чтобы минимальная из этих площадей была как можно больше.
Оценка за решение — это сумма оценок за каждый тест, округленная до ближайшего целого числа. Оценка за отдельный тест вычисляется следующим образом. Каждому тесту T соответствует максимальное количество баллов BT, которое можно за него получить. Если ответ на тесте некорректен, оценка равна нулю. В противном случае оценка — это L/M ⋅ BT, где L — это минимальная площадь треугольника в конфигурации, полученной участником, а M — это максимальная изо всех минимальных площадей, полученных всеми участниками и жюри за всю олимпиаду на этом тесте. В частности, если участник расставил точки так, что L является максимальной площадью, которую удалось получить на этом тесте, оценка за тест T будет равна BT. Максимальные баллы за каждый тест одинаковы. Сумма максимальных баллов по всем тестам равна 100.
В первой и единственной строке каждого входного файла записано целое число n — количество точек.
Выведите в каждый выходной файл n строк, где n — число из соответствующего входного файла. В каждой строке выведите координаты i-ой точки xi и yi через пробел. Точки должны лежать внутри или на границе единичного квадрата, то есть их координаты должны удовлетворять соотношениям 0 ≤ xi ≤ 1, 0 ≤ yi ≤ 1. Порядок точек не имеет значения.
Координаты и площади обрабатываются проверяющей программой как числа с плавающей точкой двойной точности (тип double в языках C/C++ и Pascal).
3 ≤ n ≤ 52
№ | Входной файл (minarea.in ) |
Выходной файл (minarea.out ) |
---|---|---|
1 |
|
|