HDU 2108 Shape of HDU
题解:按照输入顺序依次将点连接起来,对于连续的三个点p0,p1,p2,令向量a=p1-p0,b=p2-p1
若是凸多边形,那么b相对于a一定是向逆时针方向旋转的
判断两向量的旋转方向,可以使用向量的叉积 a×b=x1×y2-x2×y1
a×b>0 b在a的逆时针方向
a×b=0 b平行于a(共线)
a×b<0 b在a的顺时针方向
要注意的是,对于最后一个点pn,还要和起始的两个点p0,p1判断一次。
#include <cstdio>
struct node{int x,y;}pt[1010];
int n,x1,x2,y1,y2;
int direction(int x1,int y1,int x2,int y2){return x1*y2-x2*y1;}
int test(){
int i; pt[n]=pt[0], pt[n+1]=pt[1] ;
for (i=2;i<=n+1;i++){
x1=pt[i-1].x-pt[i-2].x,y1=pt[i-1].y-pt[i-2].y;
x2=pt[i].x-pt[i-1].x,y2=pt[i].y-pt[i-1].y;
if(direction(x1,y1,x2,y2)<0)return 0;
}
return 1;
}
int main (){
int i;
while (~scanf("%d",&n)&&n){
for(i=0;i<n;i++)scanf("%d%d", &pt[i].x, &pt[i].y) ;
puts(test()?"convex":"concave") ;
}
return 0 ;
}
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)Tota ...
- 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(判定是不是凸多边形)
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...
- Hdoj 2108.Shape of HDU 题解
Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,"徐队"的称呼逐渐被"徐总"所取代,海东 ...
- *HDU 2108 计算几何
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- 【计算几何初步-判断是否凸多边形】【HDU2108】Shape of HDU
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
随机推荐
- ADO知识的运用二(Day 28)
可能是最近有些沉迷于电视剧了,所以,好多天都没写总结了.我知道这样不好,但又老管不住自己,也许是我自控力太差了吧......呵呵,如果在不写总结,可能以后就会成为习惯了.所以今天要赶紧补上...... ...
- Binding 之ObjectDataProvider数据源
ObjectDataProvider数据源它可以把对象作为数据源提供给Binding,可用于绑定函数, 实例如下 public partial class BindObiectDataProvider ...
- 如何在oracle中导入导出(备份&恢复)dmp数据库文件
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...
- VC++学习之VC中常见问题
VC++学习之VC中常见问题 (1)为什么某个类突然在工作区间里面突然看不见了? 只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了 ( ...
- windows下nginx+tomcat分布式集群部署
首先官网下载 http://nginx.org/en/download.html,我的本地环境为 实现的架构: 从图上可以看出,nginx作为负载均衡请求分发器,当请求A应用时候,分发到A集群,同理 ...
- Linux流量监控工具使用总结 - iftop
在类Unix系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.if ...
- Android 开发之Matrix图片处理类的使用
在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型: 1.Translate————平移变换 2.Scale————缩放变换 ...
- CI(-)框架结构
一 CI 是什么 CodeIgniter is an Application Development Framework - a toolkit - for people who build web ...
- poj 3348 Cows 求凸包面积
题目链接 大意: 求凸包的面积. #include <iostream> #include <vector> #include <cstdio> #include ...
- openStack centos6.4
http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/repodata/repomd.xml: [Errno ...