A3003 | 高速公路
来源省选 / 2005
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
京珠高速公路目前正在建设当中。粤北地区是世界著名的“丹霞地貌”,京珠在这里必须穿过一大片复杂的山区。工程的总设计师Bonny已经规划好了公路大致的走向,而工程师们则被派往各个多山的路段,以设计这些路段的具体规划。
现在,你因为在信息学上取得的出色成就,被$Bonny$派往一个称为$DreadfulMess$的最复杂的路段,并仅仅给了你一张地图和一些数据。
地图以笛卡尔坐标系描述,其中包括这一地区的所有山峰的数据(俯视图)及两个点$A、B$。每座山的轮廓被假想为四边形,工程师们把这些四边形的顶点称为“测量点” ,这些四边形不会发生重叠、包含,但有可能有共用的一段边或顶点。山以外的区域被认为是平地。
你的任务是计算此路段山区的总面积,并设计一条公路,从A点起始,到B点终止。设计的原则是:公路是一条折线(即转弯点的个数是有限的);公路可以修在平地上、沿山脚或山谷(即两座山的结合部),也可以打隧道;隧道口不能是转弯点,除非它又是测量点;修建公路的费用最小。
费用的计算:平地、沿山脚或山谷的单位修路费用为u0,各座山修隧道的单位费用为ui。
现在,你因为在信息学上取得的出色成就,被$Bonny$派往一个称为$DreadfulMess$的最复杂的路段,并仅仅给了你一张地图和一些数据。
地图以笛卡尔坐标系描述,其中包括这一地区的所有山峰的数据(俯视图)及两个点$A、B$。每座山的轮廓被假想为四边形,工程师们把这些四边形的顶点称为“测量点” ,这些四边形不会发生重叠、包含,但有可能有共用的一段边或顶点。山以外的区域被认为是平地。
你的任务是计算此路段山区的总面积,并设计一条公路,从A点起始,到B点终止。设计的原则是:公路是一条折线(即转弯点的个数是有限的);公路可以修在平地上、沿山脚或山谷(即两座山的结合部),也可以打隧道;隧道口不能是转弯点,除非它又是测量点;修建公路的费用最小。
费用的计算:平地、沿山脚或山谷的单位修路费用为u0,各座山修隧道的单位费用为ui。
输入格式
第一、二行分别为A、B点坐标,整数。
第三行为$u0$,正整数。
第四行为山峰数n,$0<=$n$<=50$。
以下共n行,每行首先是一个正整数$u$i,然后是$8$个整数,按逆时针方向给出表示山的四边形的顶点坐标。
输入数据保证$A、B$两点不会在任何山的内部,四边形任意$3$个顶点不在同一直线上,所有的整数的绝对值不会大于$1000$。
坐标均以整数对的形式给出,第一个数为横坐标,第二个为纵坐标。同一行内若有多个相邻整数,则整数间以至少一个空格隔开。
第三行为$u0$,正整数。
第四行为山峰数n,$0<=$n$<=50$。
以下共n行,每行首先是一个正整数$u$i,然后是$8$个整数,按逆时针方向给出表示山的四边形的顶点坐标。
输入数据保证$A、B$两点不会在任何山的内部,四边形任意$3$个顶点不在同一直线上,所有的整数的绝对值不会大于$1000$。
坐标均以整数对的形式给出,第一个数为横坐标,第二个为纵坐标。同一行内若有多个相邻整数,则整数间以至少一个空格隔开。
输出格式
第一行为这个区域山的总面积。
第二行为设计公路的总长。
第三行为修建所设计公路的费用。
输出数据均保留两位小数。
第二行为设计公路的总长。
第三行为修建所设计公路的费用。
输出数据均保留两位小数。
输入输出样例
输入 #1
-10 1 10 1 100 2 110 0 0 -5 5 -10 0 -5 -5 300 5 -5 10 0 5 5 0 0
输出 #1
100.00 21.93 2252.15
第一行为这个区域山的总面积。
第二行为设计公路的总长。
第三行为修建所设计公路的费用。
输出数据均保留两位小数。
第二行为设计公路的总长。
第三行为修建所设计公路的费用。
输出数据均保留两位小数。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted