描述
曾经有一个贪婪的国王,他命令他的首席建筑师在国王的城堡周围建一堵墙。国王是如此贪婪,他不会听他的建筑师的建议,以建造一个美丽的砖墙,一个完美的形状和漂亮的高塔。相反,他命令用最少的石头和劳动力在整个城堡周围建造围墙,但要求墙壁不应比一定距离靠近城堡。如果国王发现建筑师使用更多的资源建造墙,而不是满足这些要求是绝对必要的,那么建筑师将松动他的头。此外,他要求建筑师立刻介绍一下墙上的计划,列出建造隔离墙所需的资源的确切数量。
你的任务是帮助可怜的建筑师保存他的头,通过编写一个程序,找到最小可能的长度的墙,他可以围绕城堡建立满足国王的要求。
这个任务有点简化了,国王的城堡有一个多边形的形状,位于一个平坦的地面上。建筑师已经建立了一个笛卡尔坐标系,并精确测量了所有城堡的顶点的坐标,以英尺。
输入
输入文件的第一行包含由空格分隔的两个整数N和L. N(3 <= N <= 1000)是国王城堡中顶点的数量,L(1 <= L <= 1000)是King允许墙壁靠近城堡的最小脚数。
接下来N行按顺时针顺序描述城堡的顶点的坐标。每行包含由表示第i个顶点的坐标的空格(-10000 <= Xi,Yi <= 10000)分隔的两个整数Xi和Yi。所有顶点都是不同的,除了顶点,城堡的两边不会相交。
输出
向输出文件写入单个数字,表示以英尺为单位的墙的最小可能长度,可以围绕城堡建造以满足国王的要求。你必须向国王提供整数英尺,因为浮动数字还没有发明。但是,您必须以这样的方式舍入结果,即精确到8英寸(1英尺等于12英寸),因为国王不会容忍估计中的更大的误差。
POJ 1113 Wall 已翻译
最新推荐文章于 2017-05-25 20:38:13 发布