摘要: http://acm.pku.edu.cn/JudgeOnline/problem?id=1279这个问题是所谓多边形的核,在一个多边形(不一定是凸的),要求找到一个区域,使得在这个区域可见多边形的所有边界。#include <cmath>#include <stdio.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;typedef double TYPE;#define MaxPoint 1550#define Epsil 阅读全文
posted @ 2011-05-10 11:27 敌敌 阅读(943) 评论(1) 推荐(0) 编辑
摘要: http://acm.pku.edu.cn/JudgeOnline/problem?id=1474#include <cmath>#include <stdio.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;typedef double TYPE;#define MaxPoint 110#define Epsilon 1e-10 /*验证*///精度的范围 ,根据不同的情况调整精度值 //空间中的点,可以用来作为二维点来用 阅读全文
posted @ 2011-05-10 10:59 敌敌 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 所谓星形多边形,指的是这样的多边形:在其内部至少有一点P,其余任何一个在多边形内(包含边上)的点和P点的连线都在多边形内,P称为中点,通常一个星形多边形有不止一个中点。判定方法是先将所有边两两求出交点,然后依次判断这些交点是不是中点,只要有一个是,多边形就是星形多边形,否则就不是。因为可以证明,只要是星形多边形,这些交点中至少有一个一定是其中点。判断P点是否是中点的方法是:所有顶点与P点之间连一条线,若有连线不全在多变形内,则不是中点。这个问题又可以转化为按一定的顺序(顺时针或逆时针)遍历每条边,看P点是否在所有边的同一侧(右侧或左侧),是的话,P就是中点。#include <cmath 阅读全文
posted @ 2011-05-10 10:34 敌敌 阅读(433) 评论(0) 推荐(0) 编辑
摘要: http://acm.pku.edu.cn/JudgeOnline/problem?id=3335问给出的多边形中是否存在一点可以观察到整个多边形。多边形核的判断,这里只需要判断存不存在,即使是一个点也可以.题目是顺时针给出点的#include <cmath>#include <stdio.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;typedef double TYPE;#define MaxPoint 110#def 阅读全文
posted @ 2011-05-10 10:25 敌敌 阅读(559) 评论(0) 推荐(0) 编辑