hdu 2108:Shape of HDU(计算几何,判断多边形是否是凸多边形,水题)
Shape of HDU
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4972 Accepted Submission(s): 2250
创业是需要地盘的,HDU向钱江肉丝高新技术开发区申请一块用地,很快得到了批复,据说这是因为他们公司研发的“海东牌”老鼠药科技含量很高,预期将占全球一半以上的市场。政府划拨的这块用地是一个多边形,为了描述它,我们用逆时针方向的顶点序列来表示,我们很想了解这块地的基本情况,现在请你编程判断HDU的用地是凸多边形还是凹多边形呢?
欲知后事如何,且听下回分解——
#include <iostream>
using namespace std;
struct Point {
int x,y;
};
int Cross(Point a,Point b,Point c) //叉积
{
return (c.x-a.x)*(b.y-a.y)-(c.y-a.y)*(b.x-a.x);
}
bool isConvex(Point p[],int n) //判断多边形是否是凸多边形,必须是按顺序排列的
{
int i;
p[n+] = p[];
p[n+] = p[]; //注意!!每一条边都要遍历
for(i=;i<=n;i++)
if(Cross(p[i],p[i+],p[i+])>) //是否右拐
return false;
return true;
}
int main()
{
int n;
while(cin>>n){
if(n==) break;
int i;
Point p[];
for(i=;i<=n;i++)
cin>>p[i].x>>p[i].y;
if(n< || isConvex(p,n)) //判断
cout<<"convex"<<endl;
else
cout<<"concave"<<endl;
}
return ;
}
Freecode : www.cnblogs.com/yym2013
hdu 2108:Shape of HDU(计算几何,判断多边形是否是凸多边形,水题)的更多相关文章
- hdu 2108 Shape of HDU【判断多边形是否是凸多边形模板】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2108 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- hdu 2108 Shape of HDU 判断是否为凸多边形
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...
- HDU 2108 Shape of HDU (判断是不是凸多边形 叉乘)
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- hdu 2108 Shape of HDU (数学)
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- HDU 2108 Shape of HDU
题解:按照输入顺序依次将点连接起来,对于连续的三个点p0,p1,p2,令向量a=p1-p0,b=p2-p1 若是凸多边形,那么b相对于a一定是向逆时针方向旋转的 判断两向量的旋转方向,可以使用向量的叉 ...
- hdu 2108 Shape of HDU(判定是不是凸多边形)
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...
- POJ1584 判断多边形是否为凸多边形,并判断点到直线的距离
求点到直线的距离: double dis(point p1,point p2){ if(fabs(p1.x-p2.x)<exp)//相等的 { return fabs(p2.x-pe ...
- HDU 1756 Cupid's Arrow 计算几何 判断一个点是否在多边形内
LINK:Cupid's Arrow 前置函数 atan2 返回一个向量的幅角.范围为[Pi,-Pi) 值得注意的是 返回的是 相对于x轴正半轴的辐角. 而判断一个点是否在一个多边形内 通常有三种方法 ...
- Hdoj 2108.Shape of HDU 题解
Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,"徐队"的称呼逐渐被"徐总"所取代,海东 ...
随机推荐
- ecshop后台导航修改教程说明
ecshop后台导航修改教程说明 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2014-06-25 需要操作的文件为: 1.修改admin\includes\in ...
- SSH整合之spring整合hibernate
SSH整合要导入的jar包: MySQL中创建数据库 create database ssh_db; ssh_db 一.spring整合hibernate带有配置文件hibernate.cfg.xml ...
- JavaScript 上万关键字瞬间匹配——借助Hash表快速匹配
来源: http://www.cnblogs.com/index-html/archive/2013/04/17/js_keyword_match.html http://www.etherdream ...
- Writing the first draft of your science paper — some dos and don’ts
Writing the first draft of your science paper — some dos and don’ts 如何起草一篇科学论文?经验丰富的Angel Borja教授告诉你 ...
- AI顶级会议以及期刊
AI顶级会议以及期刊 Upcoming Top Conferences NIPS 2009 UAI 2009 ICML 2009 COLT 2009 AISTATS 2009 CVPR 2009 IC ...
- memcached安装和php-memcached扩展安装.update.2014-08-15
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 .下载官网:http://www.danga.com另外,Memcache用到了libevent这个库用于 ...
- DEDECMS 5.7之前版本远程SQL注入漏洞
2012/4/29 凌晨 知道创宇安全研究团队截获到最新DEDECMS SQL注入 0day,官网目前提供下载的最新版5.7也受影响,截止本告警发出时官方尚未给出补丁或解决方案,此漏洞利用简单且ded ...
- Spring IoC实现解耦合
public class UserDaoImpl implements UserDao{ @Override public void save(User user) { // TODO Auto-ge ...
- SQLServer 删除所有表的外键约束
)) begin exec(@c1) fetch next from c1 into @c1 endclose c1deallocate c1
- Gradle用户指南(2)-基本命令
1.定义任务 使用task 关键字来定义gradle 任务 例:创建一个 build.gradle 命名的文件: build.gradle task hello { doLast { println ...