前言
头一道计算几何题,现学现用…
题目描述
En
Paco collects penguins. His penguins like to play and run around on the ice where he lives. In order to keep his penguins safe he decided to construct a single fence enclosure to keep danger out.
Paco’s penguins have fallen asleep. Acting quickly Paco placed numPosts posts in a circular configuration on the ice. Each post is placed radius meters from location (0,0) ( 0 , 0 ) . The posts are equally spaced with the first post being placed at location (radius,0) ( r a d i u s , 0 ) .
To construct the fencing, Paco will connect some pairs of fence posts using straight fences. No two segments of the fence are allowed to cross. In the resulting fencing, each fence post will either be unused, or it will be connected to exactly two other fence posts. In order to minimize the damage his penguins cause to the ice, he would like to minimize the area enclosed by the fence.
In order to keep all his penguins happy Paco would like to have all his penguins in the one single enclosure. Two penguins are in the same enclosure if it is possible to walk from one penguin to the other without crossing a fence.
You are given two ints numPosts and radius. You are also given two vector s x and y representing the (x,y) ( x , y ) location of each of the sleeping penguins. Each penguin is small enough to be considered a point. Compute an return the smallest area of an enclosure that can contain all the penguins. If it is not possible to enclose all the penguins return −1 − 1 .
Ch
大意就是有一圈栏杆,等距分布在一个圆上,有一些坐标给定的点,要你将若干栏杆之间用线连成一个封闭图形,且这些点全部包括在内。求围成封闭图形最小的面积。
数据范围
- numPosts n u m P o s t s will be between