UVa 754 Treasure Hunt <计算几何(相交判断)>
2017-11-03 16:46
441 查看
题目
题目大意:在100∗100的方形区域里某地方有一宝藏,里面有一些障碍墙(没有多于两堵墙相交于同一点)将该区域分为若干小室,现在你只能从每个小室的墙壁的中间通过,问从外面到宝藏所在地最少通过几堵墙壁。
分析:不要被所谓的只能通过中点所迷惑,实际上,因为那些墙将方形区域最外围的四面墙分为若干段,我们只需求每段的中点到宝藏的连线所跨过的墙的最少数就就好了。
代码:
const double eps=1e-7;
const int MAXN=200;
const int INF=~0u>>1;
struct Point{
Point(){}
Point(double xx,double yy):x(xx),y(yy){}
double x,y;
};
struct Wall{
Wall(){}
Wall(Point pp1,Point pp2):p1(pp1),p2(pp2){}
Point p1,p2;
};
int dblcmp(double x){
return fabs(x)
题目大意:在100∗100的方形区域里某地方有一宝藏,里面有一些障碍墙(没有多于两堵墙相交于同一点)将该区域分为若干小室,现在你只能从每个小室的墙壁的中间通过,问从外面到宝藏所在地最少通过几堵墙壁。
分析:不要被所谓的只能通过中点所迷惑,实际上,因为那些墙将方形区域最外围的四面墙分为若干段,我们只需求每段的中点到宝藏的连线所跨过的墙的最少数就就好了。
代码:
include
include
include
include
include
include
using namespace std;const double eps=1e-7;
const int MAXN=200;
const int INF=~0u>>1;
struct Point{
Point(){}
Point(double xx,double yy):x(xx),y(yy){}
double x,y;
};
struct Wall{
Wall(){}
Wall(Point pp1,Point pp2):p1(pp1),p2(pp2){}
Point p1,p2;
};
int dblcmp(double x){
return fabs(x)
相关文章推荐
- POJ 3304 Segments <计算几何(直线与线段相交判断)>
- POJ 1410 Intersection <计算几何(线段相交判断)>
- POJ 3449 Geometric Shapes <几何(简单相交判断)>
- UVA 3905 计算几何<扫描法> <求一条线与矩形的交>
- POJ3304 计算几何--判断直线与线段相交
- 计算几何专项:UVa 754
- POJ1556---The Doors (计算几何基础:判断线段相交(快速排斥实验+跨立实验))
- POJ 1269 Intersecing Lines <计算几何>
- 计算几何-判断两线段是否相交(模板)
- POJ 2826 An Easy Problem?! <计算几何>
- POJ 2653 计算几何 判断线段相交
- 占坑抽空补题解>_< 【杭电2015年12月校赛B】【计算几何】 Polygon 求直线和多边形的交线长度
- HOJ1102 计算几何 判断两个线段是否会相交
- uva 11800 Determine the Shape 判断四边形形状(计算几何)
- Poj 1066 Treasure Hunt && Nyoj 83 迷宫寻宝(二)判断线段相交
- {计算几何}怎样判断线段相交
- POJ 3304 Segments [枚举+叉乘判断线段相交]【计算几何】
- <笔试><面试>C/C++单链表相关(4)判断两链表是否相交,求交点(链表不带环/可能带环)
- POJ 2318 TOYS <计算几何>
- pku 1556 The Doors 计算几何 之 叉积判断线段是否相交